我正在尝试将一些项目从.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位密钥。
答案 0 :(得分:7)
不幸的是,Framework 4.5没有使用TripleDes实现的开源版本。
但是,假设它遵循Triple DES的正常约定,当它提供两个密钥时,它会重用第一个密钥作为第三个密钥,您应该能够获取现有的16字节密钥并重复前8个密钥。用于形成24字节密钥的字节,它应该产生与之前获得的结果相同的结果。