博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TrippleDESCSPEncrypt 加密解密试试看
阅读量:4450 次
发布时间:2019-06-07

本文共 2560 字,大约阅读时间需要 8 分钟。

 

public class TrippleDESCSPEncrypt    {        //12个字符          private static string customIV = "4vHKRj3yfzU=";        //32个字符          private static string customKey = "xhVs6DRXLfUGxw+AhtfQdpQGoa+8SA9d";        ///           /// 加密字符串          ///           ///           /// 
public string EncryptPassword(string password) { string encryptPassword = string.Empty; SymmetricAlgorithm algorithm = new TripleDESCryptoServiceProvider(); algorithm.Key = Convert.FromBase64String(customKey); algorithm.IV = Convert.FromBase64String(customIV);//在ECB模式下,IV不起作用 algorithm.Mode = CipherMode.ECB; algorithm.Padding = PaddingMode.PKCS7; ICryptoTransform transform = algorithm.CreateEncryptor(); byte[] data = (new System.Text.ASCIIEncoding()).GetBytes(password); MemoryStream memoryStream = new MemoryStream(); CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Write); cryptoStream.Write(data, 0, data.Length); cryptoStream.FlushFinalBlock(); encryptPassword = Convert.ToBase64String(memoryStream.ToArray()); memoryStream.Close(); cryptoStream.Close(); return encryptPassword; } /// /// 解密字符串 /// /// ///
public string DecryptPassword(string password) { string decryptPassword = string.Empty; SymmetricAlgorithm algorithm = new TripleDESCryptoServiceProvider(); algorithm.Key = Convert.FromBase64String(customKey); algorithm.IV = Convert.FromBase64String(customIV);//在ECB模式下不起作用 algorithm.Mode = CipherMode.ECB; algorithm.Padding = PaddingMode.PKCS7; ICryptoTransform transform = algorithm.CreateDecryptor(algorithm.Key, algorithm.IV);       //ICryptoTransform transform = algorithm.CreateDecryptor();//在ECB模式下也可以使用此句。          byte[] buffer = Convert.FromBase64String(password); MemoryStream memoryStream = new MemoryStream(buffer); CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Read); StreamReader reader = new StreamReader(cryptoStream, System.Text.Encoding.ASCII); decryptPassword = reader.ReadToEnd(); reader.Close(); cryptoStream.Close(); memoryStream.Close(); return decryptPassword; }

 

转载于:https://www.cnblogs.com/wolfocme110/p/4594647.html

你可能感兴趣的文章
进位标志位
查看>>
spring boot使用slf4j输出日志
查看>>
learning gcc&gdb
查看>>
STL_算法_01_查找算法
查看>>
05-python中函数的使用
查看>>
opencv3.2.0之绘图
查看>>
VB代码(\D 正则表达式去掉数字)
查看>>
NSiS“反编译”方法-By蓝色网际
查看>>
取得绝对路径 2003 2007 Excel
查看>>
我爱 哐 哐 哐,我是哐人类!-【废话区】
查看>>
WinPE启动U盘的制作方法与软件下载(通用PE工具箱/老毛桃/大白菜WinPE)(转载)...
查看>>
行为型设计模式之5--中介者模式
查看>>
Android DevArt6:Android中IPC的六种方式
查看>>
oracle练习题
查看>>
PMP学习感想
查看>>
Zookeeper全解析——Paxos作为灵魂
查看>>
集合-强大的集合工具类:java.util.Collections中未包含的集合工具
查看>>
CSS清除浮动
查看>>
springboot中定义拦截器
查看>>
关于BeanUtils.copyProperties的用法和优缺点
查看>>