TripleDES 16字节不起作用

时间:2016-08-18 08:24:25

标签: c# .net cryptography .net-core tripledes

我正在尝试将一些项目从.net framework 4.5迁移到.net core。 尝试迁移旧crypting/decrypting方法时会出现问题。 该方法是TripleDES,其密钥是MD5哈希。 MD5哈希总是返回16个字节。 这在.net framework 4.5中运行良好,但在.net core System.Security.Cryptography.Algorithms TripleDES中只接受24字节的KeySize。在4.5中它接受16个字节或24个字节。 我可以尝试一些变通办法吗?

稍后编辑: 初始化时,TripleDes类调用this的新TripleDesImplementation。在此声明CNG不支持128位密钥。

1 个答案:

答案 0 :(得分:7)

不幸的是,Framework 4.5没有使用TripleDes实现的开源版本。

但是,假设它遵循Triple DES的正常约定,当它提供两个密钥时,它会重用第一个密钥作为第三个密钥,您应该能够获取现有的16字节密钥并重复前8个密钥。用于形成24字节密钥的字节,它应该产生与之前获得的结果相同的结果。