我正在尝试将一些项目从.net framework 4.5迁移到.net core。当尝试迁移旧的crypting/decrypting方法时,问题就出现了。该方法是一个具有MD5散列的键的TripleDES。MD5散列始终返回16个字节。这在.net framework 4.5中运行良好,但在System.Security.Cryptography.Algorithms TripleDES中的.net core中,它只接受24字节的KeySize。在4.5中,它接受16个字节或24个字节。有什么变通方法可以让我试试吗?
稍后编辑: TripleDes类在初始化时调用新的TripleDesImplementation,即this。并且这里声明CNG不支持128位密钥。
发布于 2016-08-18 16:54:57
不幸的是,Framework4.5使用的TripleDes实现没有开源版本。
但是,假设它遵循Triple DES的常规约定,当它提供两个密钥时,它重用第一个密钥作为第三个密钥,您应该能够使用现有的16字节密钥,只需重复前8个字节就可以形成一个24字节的密钥,并且它应该会产生与您之前获得的相同的结果。
https://stackoverflow.com/questions/39013264
复制相似问题