.NET中MD5加密
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using OAOnline.BLL;
using System.Diagnostics;
using System.Text;
using System.Security.Cryptography;
using System.IO;
//1、加密成32位16进制字符串
protected string HashMD5_String(string str)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();
}
//2、同上,增加偏移量
public string GetMD5(string sDataIn, string move)
{
System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] byt, bytHash;
byt = System.Text.Encoding.UTF8.GetBytes(move + sDataIn);
bytHash = md5.ComputeHash(byt);
md5.Clear();
string sTemp = "";
for (int i = 0; i < bytHash.Length; i++)
{
sTemp += bytHash[i].ToString("x").PadLeft(2, '0');
}
return sTemp;
}
//3、将字符串编码成ASCII数组后进行MD5加密,然后再编码成ASCII字符串
public static string MD5Encrypt(string strEnc)
{
string str = "加密失败!";
try
{
System.Security.Cryptography.MD5CryptoServiceProvider MD5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
str = ASCIIEncoding.ASCII.GetString(MD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(strEnc)));
return str;
}
catch (System.Exception ex)
{
throw (ex);
}
}
JAVA中的md5加密
import java.security.MessageDigest;
public class MD5Ecnrypt {
//将字符串加密成MD5,32位16进制字串,如"3031209"转成"e043a49740adde7aae4f34818c52528e"
public static String EncodeMD5Hex(String text) throws Exception {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(text.getBytes("US-ASCII"));
byte[] digest = md.digest();
StringBuffer md5 = new StringBuffer();
for (int i = 0; i < digest.length; i++) {
md5.append(Character.forDigit((digest[i] & 0xF0) >> 4, 16));
md5.append(Character.forDigit((digest[i] & 0xF), 16));
}
return md5.toString();
}
//将字符串加密成ASCII字串,如"3031209"转成"?C??@??z?O4??RR?"
public static String EncodeMD5ASCII(String text) throws Exception {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(text.getBytes("US-ASCII"));
byte[] digest = md.digest();
return new String(digest,"US-ASCII");
}
//将ASCII字串编码成16进制字串,如:“?C??@??z?O4??RR?“转成”3f433f3f403f3f7a3f4f343f3f52523f“
//参数text
//返回结果16进制字符串
public static String DecodeMD5Hex(String text) throws Exception {
byte[] digest = text.getBytes();
StringBuffer md5 = new StringBuffer();
for (int i = 0; i < digest.length; i++) {
md5.append(Character.forDigit((digest[i] & 0xF0) >> 4, 16));
md5.append(Character.forDigit((digest[i] & 0xF), 16));
}
return md5.toString();
}
//比较输入密码MD5加密后与数据库密码相等
//参数a:输入的密码
//参数b:数据库的ASCII字串
//返回结果:a进行md5加密后和b相等则为真,反之则为假
public static Boolean CheckPSW(String a,String b) throws Exception
{
String strone=EncodeMD5ASCII(a);
return strone.equals(b);
}
}
分享到:
- 2009-06-30 20:03
- 浏览 2233
- 评论(0)
- 论坛回复 / 浏览 (0 / 6528)
- 查看更多
相关推荐
java与c#MD5加密方法得到不一致解决办法,MD5加密后得到不一致结果
- `java.security` 包下的 `MessageDigest` 类用于实现消息摘要算法,如MD5和SHA,常用于数据完整性校验。 - `javax.crypto` 包提供了加密和解密功能,如`Cipher`类可以实现AES、DES等加密算法。 2. **上传工具类...
1. **Socket编程**:Java的`java.net.Socket`和`java.net.ServerSocket`类是进行网络通信的基础,它们提供了创建客户端和服务端连接的能力,是构建P2P网络的基本组件。 2. **多线程**:P2P网络中的每个节点可能同时...
5. **用户认证与安全**:在实际应用中,为了保证用户身份的安全,通常会引入用户名和密码认证机制,这可能涉及到加密算法,如MD5或SHA家族,以及HTTPS等安全协议。 6. **事件驱动编程**:在GUI(图形用户界面)部分...
8. **安全更新**:每个新版本通常会修复已知的安全漏洞,以保持与最新安全实践同步。 9. **性能优化**:1.8.5版本可能包含了一些性能提升,使得加密和解密操作更加高效。 10. **跨平台兼容性**:BouncyCastle的C#...
- **签名机制**:微信支付采用MD5签名方式,确保数据的安全性。签名过程需包含所有请求参数,并且按照特定规则排序。 - **通知回调**:微信支付完成后,会向你设定的回调URL发送异步通知,你需要处理这些通知,...
本主题主要聚焦于“一些工具类的整合”,包括MD5加密、URL编码与解码以及网络辅助工具等多个方面。这些工具类在日常开发中扮演着不可或缺的角色,尤其对于处理数据安全、网络通信等问题时更为关键。 首先,让我们来...
在Java中,Socket是`java.net.Socket`类和`ServerSocket`类的实例。`ServerSocket`监听特定的端口号,等待客户端的连接请求。一旦收到请求,它会创建一个Socket实例来处理该连接。客户端则使用`Socket`类建立到...
在本项目中,“JAVA开发java一个简单的即时通讯工具的设计与开发(源代码+论文)”是一个实践性的教程,旨在教授如何使用Java语言构建一个基础的即时通讯应用。这个压缩包包含了源代码和相关的理论分析,为学习者提供...
你需要理解并正确实现签名算法,通常使用的是RSA或MD5,确保请求在传输过程中不被篡改。 4. **创建支付订单**: 服务端需要调用支付宝的“统一收单交易创建”接口,生成预支付订单。这包括设置商品信息(如商品...
2. **安全机制**:企业网银支付涉及到用户敏感的金融信息,因此需要采用SSL/TLS加密传输,以及MD5、RSA等安全算法确保数据的安全性。 3. **支付流程**:通常包括用户选择支付方式、跳转至银行网银页面完成支付、...
5. **用户认证与安全**:为了保护用户隐私,即时聊天系统通常会包含用户注册、登录功能,可能涉及哈希算法(如MD5或SHA)进行密码加密存储,以及SSL/TLS协议确保数据传输的安全性。 6. **用户界面设计**:使用Java ...
- **加密算法**:对称加密(AES)、非对称加密(RSA)、哈希函数(MD5, SHA系列)。 9. **云计算与大数据**: - **AWS、Azure、Google Cloud**:主要云服务提供商的特性和服务。 - **Hadoop、Spark**:大数据...
Apache Shiro 是一个强大且易用的 Java 安全框架,提供认证、授权、加密和会话管理功能,简化了企业级应用的安全实现。在"shiro-master"这个项目中,我们可以深入学习Shiro的核心概念和实践应用。下面将详细阐述...
9. **工具和资源**:包括时间戳转换工具、MD5加密工具、JSON格式化工具、在线cron表达式生成器、主机切换工具、开发框架如Hutool、网络编程库、数据结构可视化工具等,这些工具能帮助开发者更高效地进行并发编程和...
- **加密算法**:对称加密(如AES)、非对称加密(如RSA)、信息摘要算法(如MD5、SHA)在网络通信中的应用。 6. **注册表与进程管理**: - **注册表操作**:了解主要注册表项,学习读写方法。 - **进程管理**:...
用户模块:横向越权、纵向越权、MD5明文加密、guava缓存高复用服务响应对象的设计思想和封装 分类模块(服务端):递归算法复杂对象排重无限层级树结构设计 商品模块:POJO、BO、VO抽象模型高效分页及动态排序...
5. **文件完整性校验**:通过MD5或SHA哈希值验证文件在上传过程中的完整性。 在具体编程实现中,可以使用Python的socket库、Java的java.net.Socket类或者Node.js的net模块来编写Socket应用程序。 综上所述,"视频...
5. **订单状态同步**:如果交易成功,开发者还需要调用支付宝的同步通知接口,更新自己的订单状态数据库,确保订单信息的一致性。 6. **异步通知处理**:为了防止网络问题导致的订单状态无法及时更新,支付宝还会...