首页
社区
课程
招聘
[求助]C#与c++DES算法实现
发表于: 2019-10-6 00:37 8572

[求助]C#与c++DES算法实现

2019-10-6 00:37
8572
如下C#代码可以正常解密数据块 ,请用如何用另外一个C代码实现这个功能?
 //A_0  输入数据长度530
// A_1  8字节密钥
// A_2  8个0
                MemoryStream stream = new MemoryStream(A_0, 2, A_0.Length - 2);
                CryptoStream cryptoStream = new CryptoStream(stream, new DESCryptoServiceProvider
                {
                    Padding = PaddingMode.None,
                    Mode = CipherMode.CBC
                }.CreateDecryptor(A_1, A_2), CryptoStreamMode.Write);
                cryptoStream.Write(A_0, 2, A_0.Length - 2);
                cryptoStream.FlushFinalBlock();
                cryptoStream.Close();
    -------------------------------------------------
C++ 伪代码,因为一次只能解密8个字节,所以前8个字节解密是正常的和
上面c#的一样,但是后面剩余的应该怎么处理才能和c#的结果对上?
    des_setkey_dec(&ttt,deskey);
    des_crypt_ecb(&ttt,input,output);
 
谢谢,恳请给出相关代码最好了

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 547
活跃值: (2195)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
直接按8字节块循环解密剩下的数据返回和c#的结果不一样的,不知道要怎么办
2019-10-6 00:42
0
雪    币: 1042
活跃值: (500)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
openssl 试试。
2019-10-6 10:41
0
雪    币: 547
活跃值: (2195)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
Rookietp openssl 试试。
好像是这个原因,我去试试,谢谢
2019-10-6 16:23
0
游客
登录 | 注册 方可回帖
返回
//