首页 > 其他分享 >DES加密

DES加密

时间:2022-09-02 16:03:23浏览次数:87  
标签:加密 key DES cryptoProvider new byte

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

 

标签:加密,key,DES,cryptoProvider,new,byte
From: https://www.cnblogs.com/lxhbky/p/16650208.html

相关文章

  • 猿人学安卓逆向对抗比赛-第一题(JAVA层加密)
    JAVA层加密抓包证书导入(charles同理)先安装为用户证书(如下)然后将证书导入系统adbshellsucd/data/misc/user/0/cacert-addedmount-oremount,rw/systemcp*/......
  • 加密-国密-非对称-SM2
    国家密码管理局于2010年12月17日发布了SM2算法,并要求现有的基于RSA算法的电子认证系统、密钥管理系统、应用系统进升级改造,使用支持国密SM2算法的证书。我国现阶段使用的......
  • 国密-对称加密-SM4
    SM4的使用:   参考:国密SM4分组密码算法(对称加密)的JS和JAVA类库......
  • 对称加密-aes/des-美国
    DES和AES密码之间的区别众所周知,DES和AES都是对称键块密码的类型,在这种加密方法中,只有一个键(秘钥)用于加密和解密电子信息。通过对称加密进行通信的实体必须交换键,以便可以......
  • DApp 大学训练营——DApp 加密交换项目 | 4. 代币余额
    DApp大学训练营——DApp加密交换项目|4.代币余额本博客的目的是通过DApp大学的2022年区块链训练营课程记录我的学习过程。本课程的顶点项目是创建一个DApp加密......
  • 【系列】nodeSDK
    目录runAPP.sh代码分析docker-compose.yamltestAPIs.shBalancetransferPrerequisitesandsetup:ArtifactsRunningthesampleprogramOption1:TerminalWindow1Termina......
  • Redis 管理工具 - Redis Desktop Manager
     RedisDesktopManager可以轻松管理Redis桌面。为您提供了一个易于使用的GUI,可以访问您的Redis数据库并执行一些基本操作:将键视为树,CRUD键,通过shell执行命令。RESP.app......
  • ant-design日期组件DatePicker国际化失效
    问题描述:在vite+react+ant design项目中,使用DatePicker组件时,发现该组件的国际化失效了。如下图: 注释:项目入口文件已有配置国际化,如下: 分析:antdesign官网上已有......
  • cookies加密__搜狗微信
    #coding=utf-8importrequestsfromlxmlimportetreeimportreimportrandomimportjsonfromurllibimportparsedefget_cookie(response1,uigs_para,UserAgent):......
  • postman-对请求参数加密
    //生成32位随机字符串constarr=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','......