Microsoft .NET 中的简化加密

http://www.51cto.com/specbook/15/3407.htm



1.SHA1

using System.Security.Cryptography;

SHA1CryptoServiceProvider sha1=new SHA1CryptoServiceProvider();

string encryptedString = Convert.ToBase64String(sha1.ComputeHash(Encoding.UTF8.GetBytes("testPwd")));



2.MD5只是用的类不同

MD5CryptoServiceProvider md5=New MD5CryptoServiceProvider();

3.给散列算法加salt

private string CreateSalt()

{

byte[] bytSalt = new byte[8];

RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();

rng.GetBytes(bytSalt);

return Convert.ToBase64String(bytSalt);

}



4.DES(64位)

SymmetricAlgorithm mCSP =new DESCryptoServiceProvider();

mCSP.GenerateKey();

mCSP.GenerateIV();

string txtKey= Convert.ToBase64String(mCSP.Key);

string txtIV= Convert.ToBase64String(mCSP.IV);



private string EncryptString(string Value)

{

ICryptoTransform ct;

MemoryStream ms;

CryptoStream cs;

byte[] byt;



ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);

byt = Encoding.UTF8.GetBytes(Value);

ms = new MemoryStream();

cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);

cs.Write(byt, 0, byt.Length);

cs.FlushFinalBlock();

cs.Close();



return Convert.ToBase64String(ms.ToArray());

}



private string DecryptString(string Value)

{

ICryptoTransform ct;

MemoryStream ms;

CryptoStream cs;

byte[] byt;



ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);

byt = Convert.FromBase64String(Value);

ms = new MemoryStream();

cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);

cs.Write(byt, 0, byt.Length);

cs.FlushFinalBlock();

cs.Close();



return Encoding.UTF8.GetString(ms.ToArray());

}

5.TripleDES(192位)

SymmetricAlgorithm mCSP =new TripleDESCryptoServiceProvider();





6.Rijndael

RijndaelManaged objRijndaelManaged=new=RijndaelManaged();

最新文章

  1. [LeetCode] Assign Cookies 分点心
  2. 深度学习 - DL
  3. sqlServer数据库插入数据后返回刚插入记录的自增ID
  4. HDU-敌兵布阵
  5. 特征工程 dataframe格式
  6. Gradle用户指南(3)-构建Java项目
  7. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.3.1:jar (default-jar) on
  8. 迪米特法则(LoD),即最少知识原则
  9. ol3简介
  10. PostgreSQL的 fdw 跨库使用
  11. java设计模式--行为型模式--模板方法
  12. .NET中的IO操作之文件流(一)
  13. hibernate缓存机制和事务隔离机制
  14. 使用 PUTTY 操作 Google Cloud
  15. 虚拟机系统安装Messenger和Server
  16. UOJ#132&bzoj4200[Noi2015]小园丁与老司机
  17. HDU6446 Tree and Permutation(树上DP)
  18. 批量增删改"_bulk"
  19. ASP.NET MVC NPOI导入Excel DataTable批量导入到数据库
  20. Prometheus Node_exporter 之 Memory Detail Meminfo /proc/meminfo

热门文章

  1. 20191011-构建我们公司自己的自动化接口测试框架-Action的request方法封装
  2. 无服务架构在IOT的应用场景——使用函数工作流处理DIS数据
  3. (转)从0移植uboot (一) _配置分析
  4. (十六)Hibernate中的延迟加载
  5. 在论坛中出现的比较难的sql问题:8(递归问题 树形结构分组)
  6. Spring Boot 使用 @Scheduled 注解创建定时任务
  7. 用户注册&单点登录
  8. 【多进程】php多进程编程
  9. JavaScript知识点:分支结构(if、switch)+算法例题
  10. Twitter Bootstrap:前端框架利器