DES加密
DES加密是第一次使用,现在已经是一种过时的加密方式了,由于需求用到,这里列举一个示例:
核心代码:
/// <summary> /// DES加密 /// </summary> /// <param name="data">加密字符串</param> /// <param name="key">商户私钥</param> /// <param name="iv">偏移量</param> /// <returns></returns> public static string DESEncrypt(string data, string key, string iv) { //byte[] byKey = System.Text.ASCIIEncoding.ASCII.GetBytes(key.Substring(0,8)); //byte[] byIV = System.Text.ASCIIEncoding.ASCII.GetBytes(iv); //注意这里key最多只能有8位,超出8位自动截断 byte[] byKey = Encoding.UTF8.GetBytes(key.Substring(0, 8)); byte[] byIV = Encoding.UTF8.GetBytes(iv); DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider(); cryptoProvider.Mode = CipherMode.CBC; cryptoProvider.Padding = PaddingMode.PKCS7; MemoryStream ms = new MemoryStream(); CryptoStream cst = new CryptoStream(ms, cryptoProvider.CreateEncryptor(byKey, byIV), CryptoStreamMode.Write); StreamWriter sw = new StreamWriter(cst); sw.Write(data); sw.Flush(); cst.FlushFinalBlock(); sw.Flush(); return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length); }
常见问题:Specified key is not a valid size for this algorithm. (给出的key的长度大于8位导致的,代码里已经做了兼容,最多取8位)
也可以使用其他在线校验核对工具,跟代码生成数据进行比对:http://tool.chacuo.net/cryptdes
*感谢您的阅读。喜欢的、有用的就请大哥大嫂们高抬贵手“推荐一下”吧!你的精神 支持是博主强大的写作动力。欢迎转载!
*博主的文章是自己平时开发总结的经验,由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
*我的博客: http://www.cnblogs.com/lxhbky/
*博主的文章是自己平时开发总结的经验,由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
*我的博客: http://www.cnblogs.com/lxhbky/
分类:
.NET
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Blazor Hybrid适配到HarmonyOS系统
· 万字调研——AI生成内容检测
· 解决跨域问题的这6种方案,真香!
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
2021-09-02 文件句柄占用卸载异常:Illegal or unimplemented ELEM_TYPE in signature
2020-09-02 debian_linux_apt-get命令_dpkg命令
2020-09-02 debian_linux系统_访问真实环境rancher_证书问题相关_https相关_使用kubectl命令行查看资源时报错:Unable to connect to the server: x509: certificate signed by unknown authority