简单介绍一下HASH
HASH就是把一系列不定长2进制输出为一个定长的2进制。
HASH用来做什么?现在一般是用来验证一段信息有没被篡改过或者就是保存密码的HASH值用于日后验证又防止别人查看这个记录窃取密码。
HASH值是不可逆的,不存在破解不破解的问题
newUser.Username = txtUsername.Text; newUser.Password = EncryptPassword(txtPassword.Text);EncryptPassword如下: public static byte[] EncryptPassword(string password) { UnicodeEnCoding enCoding = new UnicodeEnCoding(); byte[] hashBytes = enCoding.GetBytes(password); SHA1 sha1 = new SHA1CryptoServiceProvIDer(); byte[] cryptPassword = sha1.ComputeHash(hashBytes); return cryptPassword; }
用户名密码都是AA1 加密后长度64位
简单介绍一下MD5
MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer scIEnce和rsa data security inc的ronald l. rivest开发出来, 经md2、md3和md4发展而来。
MD5具有很好的安全性(因为它具有不可逆的特征,加过密的密文经过解密后和加密前的相同的可能性极小)
newUser.Username = txtUsername.Text; newUser.Password = EncryptPasswordMD5(txtPassword.Text);EncryptPasswordMD5 如下: public static byte[] EncryptPasswordMD5(string password) { UnicodeEnCoding enCoding = new UnicodeEnCoding(); byte[] result = enCoding.GetBytes(password); MD5 md5 = new MD5CryptoServiceProvIDer(); byte[] cryptPassword = md5.ComputeHash(result); return cryptPassword; }
用户名 密码 都是BB1 加密后长度32位
注意点
两个都要引用using System.Security.Cryptography;
using System.Text; 存储在数据库中的时候 数据库的字段要用二进制
举例sqlSERVER BINARY ORACLE RAW(200)
总结以上是内存溢出为你收集整理的.net编程比较简单实用的加密方法HASH加密和MD5加密全部内容,希望文章能够帮你解决.net编程比较简单实用的加密方法HASH加密和MD5加密所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)