我正在嘗試將一些項目從.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 16字節無法正常工作
後來編輯: TripleDes類初始化時調用新的TripleDesImplementation,它是this。這裏指出,CNG不支持128位密鑰。
我認爲你的問題是關於.net-core而不是asp.net-core。 –
TripleDes類本身的代碼似乎表明[兩種密鑰大小都受支持](https://github.com/dotnet/corefx/blob/d0dc5fc099946adc1035b34a8b1f6042eddb0c75/src/System.Security.Cryptography.Algorithms/src/System/安全/加密/ TripleDES.cs#L105)。很明顯'TripleDes'是一個抽象類,所以你可以添加一些示例代碼,以顯示你是如何創建它以及如何/何時指示錯誤。 –
初始化時的TripleDes類調用新的TripleDesImplementation,它是[this](https://github.com/dotnet/corefx/blob/d0dc5fc099946adc1035b34a8b1f6042eddb0c75/src/System.Security.Cryptography.Algorithms/src/Internal/Cryptography/TripleDesImplementation.cs #L20)。這裏指出,CNG不支持128位密鑰。 – Ndy