为什么C#的3DES算法和工具生成的不一样,求解

问题描述

publicstaticstringEncrypt3DES(stringa_strString,stringa_strKey){TripleDESCryptoServiceProviderDES=newTripleDESCryptoServiceProvider();DES.Key=ASCIIEncoding.ASCII.GetBytes(a_strKey);DES.Mode=CipherMode.ECB;ICryptoTransformDESEncrypt=DES.CreateEncryptor();byte[]Buffer=ASCIIEncoding.ASCII.GetBytes(a_strString);byte[]Buffer2=DESEncrypt.TransformFinalBlock(Buffer,0,Buffer.Length);StringBuilderbuilder=newStringBuilder(Buffer2.Length*3);foreach(bytenuminBuffer2){builder.Append(Convert.ToString(num,16).PadLeft(2,'0').PadRight(3,''));}returnbuilder.ToString().ToUpper().Replace("","");}

这是我的C#代码我用C#的源码测试的结果:KEY:123456789012345678901234明文:1054DASF8ASD4GAS5D1G3A2SD密文:151217178983A3509F5FD3AB94857A633BA927CE8A5414D1DC29BE05CC94DD5F然后标准的工具是:KEY:123456789012345678901234明文:1054DASF8ASD4GAS5D1G3A2SD密文:151217178983A3509F5FD3AB94857A633BA927CE8A5414D1AB1359AAD7819BC6最后面8组数据是不一样的,我工具用的是3DES的EDE3模式,求教了,谢谢

解决方案

解决方案二:
DES.Key=ASCIIEncoding.ASCII.GetBytes(a_strKey);DES.Mode=CipherMode.ECB;这两个可能有其中一个或两个都和那个‘标准工具’不同

时间: 2024-08-30 12:17:48

为什么C#的3DES算法和工具生成的不一样,求解的相关文章

使用ant工具生成java代码时build failed,总是提示找不到第二张图的东西

问题描述 使用ant工具生成java代码时build failed,总是提示找不到第二张图的东西

cdn-Bootstrap 可视化工具 生成的代码 如何运行?

问题描述 Bootstrap 可视化工具 生成的代码 如何运行? 下载之后没有样式 排版也不对 我没有下载样式文件 我是直接引入的cdn 解决方案 需要引入的bootstrap的一些文件,我后来在网上找到了这些文件,有时间我会给贴上来 解决方案二: 网页链接里的try不知道是否可解你的疑惑

《Cocos2D-x权威指南》——2.4 使用Doxygen工具生成Cocos2D-x文档

2.4 使用Doxygen工具生成Cocos2D-x文档 Doxygen是一种开源跨平台的工具,其功能是从程序源代码中抽取类.方法.成员的注释,形成一个和源代码配套的API(Application Programming Interface,应用程序编程接口)帮助文档.Doxygen工具完全支持C.C++.Java.Objective-C等语言,部分支持PHP.C#. Doxygen可以根据代码中的注释,按照规则生成相应的文档.Cocos2D-x的代码就依照了它的规则,并且提供了doxygen.

使用Web Deployment Projects工具生成唯一程序集时出现了错误

问题描述 使用WebDeploymentProjects工具生成唯一程序集时出现了错误Anerroroccurredwhenmergingassemblies:索引超出了数组界限.C:ProgramFilesMSBuildMicrosoftWebDeploymentv8.0Microsoft.WebDeployment.targets(474,9):errorMSB6006:"aspnet_merge.exe"已退出,代码为1.已完成执行任务"AspNetMerge"

extjs3-ext动态生成checkbox不显示. 求解!

问题描述 ext动态生成checkbox不显示. 求解! 'select':function(combo){ var sub = Ext.getCmp("panel"); sub.removeAll(); Ext.Ajax.request({ url:'xxx', method:'post', params:{"groupId" : combo.getValue()}, success:function(res, o){ var obj = Ext.util.JSO

递归-最蠢数独穷举算法,就是不出结果,求解

问题描述 最蠢数独穷举算法,就是不出结果,求解 用C++/C写了个数独暴力破解算法,运用递归来破解数独 搞了半天不知道错哪..求前辈指教.. PS:数独就是9×9=81个格子 要把9组1~9一共81个数字填入格子中 要求: 每一行不能有相同的数 每一列不能有相同的数 每一小宫(9个格子)不能有相同的数 #include <iostream> using namespace std; void Sudoku(int x,int y); //放数 int Judge(int x,int y,int

动态规划法求文本串的最优分行问题河海大学考博计算机算法设计与分析真题着急求解中

问题描述 动态规划法求文本串的最优分行问题河海大学考博计算机算法设计与分析真题着急求解中 列表并至少给出4步典型过程,求文本串"Do you like those people who always think of money and cannot remember the past."在列宽为15,惩罚函数为行空余空间的平方(最后一行不计惩罚)时的最优分行方案.不需要给出具体的实现代码.用动态规划算法给出列表

eclipse 编辑html页面,不知为何自动生成javascript代码,求解

问题描述 eclipse 编辑html页面,不知为何自动生成javascript代码,求解 是不是jsp配置的原因 解决方案 创建的时候把那些附加的选项都不要勾选,都去掉,创建一个空文档 解决方案二: 谢谢,已经解决了,原因是电脑中毒了. 解决方案三: - -...还以为你说的js代码跟你写的代码相关呢

算法 边介数-算法, 边介数问题 该如何求解

问题描述 算法, 边介数问题 该如何求解 请问各个边的介数要怎么求解?