简单的加密和解密
2006-12-01 17:08
267 查看
1、 关于用户密码的加密
这种情况一般采用散列来进行加密并以Base64编码存入数据库,然后验证用户密码时,只需要对用户输入进行再次加密、编码,对比数据库中的值即可
有两种选择SHA1和MD5
byte[] original = System.Text.Encoding.UTF8.GetBytes("test");
SHA1CryptoServiceProvider hashSHA1 = new SHA1CryptoServiceProvider();
byte[] keyhash = hashSHA1.ComputeHash(original);
hashSHA1.Clear();
string result = System.Text.Encoding.UTF8.GetString(keyhash);
return result;
byte[] original = System.Text.Encoding.UTF8.GetBytes("test");
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
byte[] keyhash = hashmd5.ComputeHash(original);
hashmd5.Clear();
string result = System.Text.Encoding.UTF8.GetString(keyhash);
return result;
2、 关于其他字符串的加密和解密
在一些情况下需要保存一些字符信息,不是用于验证,而是为了一些信息的读取。这时就要用到另一种方法的加密/解密了
加密
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
des.Key = MakeMD5(key); //电子密码本模式,分别加密每个块
des.Mode = CipherMode.ECB;
return des.CreateEncryptor().TransformFinalBlock(original, 0, original.Length);
解密
byte[] buff = Convert.FromBase64String(encrypted);
byte[] kb = System.Text.Encoding.Default.GetBytes(key);
return System.Text.Encoding.GetString(Decrypt(buff,kb));
这种情况一般采用散列来进行加密并以Base64编码存入数据库,然后验证用户密码时,只需要对用户输入进行再次加密、编码,对比数据库中的值即可
有两种选择SHA1和MD5
byte[] original = System.Text.Encoding.UTF8.GetBytes("test");
SHA1CryptoServiceProvider hashSHA1 = new SHA1CryptoServiceProvider();
byte[] keyhash = hashSHA1.ComputeHash(original);
hashSHA1.Clear();
string result = System.Text.Encoding.UTF8.GetString(keyhash);
return result;
byte[] original = System.Text.Encoding.UTF8.GetBytes("test");
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
byte[] keyhash = hashmd5.ComputeHash(original);
hashmd5.Clear();
string result = System.Text.Encoding.UTF8.GetString(keyhash);
return result;
2、 关于其他字符串的加密和解密
在一些情况下需要保存一些字符信息,不是用于验证,而是为了一些信息的读取。这时就要用到另一种方法的加密/解密了
加密
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
des.Key = MakeMD5(key); //电子密码本模式,分别加密每个块
des.Mode = CipherMode.ECB;
return des.CreateEncryptor().TransformFinalBlock(original, 0, original.Length);
解密
byte[] buff = Convert.FromBase64String(encrypted);
byte[] kb = System.Text.Encoding.Default.GetBytes(key);
return System.Text.Encoding.GetString(Decrypt(buff,kb));
相关文章推荐
- DES的两个简单的加密、解密函数(C#中使用)
- java实现AES的简单加密解密
- java加密解密简单列子
- java实现RSA+AES的简单加密解密
- 电报加密 描述: 发送电报保密是一项重要的工作,尤其是在军事领域,所以,为了安全的需要常常会对发送的内容进行加密,然后,接收方再进行解密,这样就达到了安全的需要。 本次我们完成一个简单的对字母加密程
- AES加密解密简单实例
- 简单的内容加密解密,在嵌入式上实现
- 简单的内容加密解密,在嵌入式上实现
- 新手向解密加密后的dll 提取dll 适用于简单加密后的apk
- C#实现简单的3DES加密解密功能示例
- 【VB.Net】使用SHA256进行简单的XOR文本加密与解密
- 一个简单的加密,解密方法
- 简单加密解密
- Java批量加密解密文件简单小程序
- openssl rsa 加密,解密,签名,验签简单例子
- 简单加密解密原形
- PHP下SSL加密解密、验证、签名方法(超简单)
- 简单的ASE加密解密功能