簡體   English   中英

.NET CORE中缺少方法PasswordDeriveBytes(PBKDF1)

[英]Missing method PasswordDeriveBytes (PBKDF1) in .NET CORE

我正在開發.NET Core 1.1中的服務。 它連接到遺留數據庫,該數據庫存儲使用AES Rjindael加密的數據。 解密算法使用System.Security.Cryptography.PasswordDeriveBytes()方法創建IV。

看起來這個函數沒有移植到.NET Core,因為它已經過時了。 不幸的是,我無法替換遺留數據和代碼以使用更好的算法。 不知何故,我需要獲得此算法的實現,以使其向后兼容。

有關如何實現這些算法的任何建議? 謝謝!

更新

接受Maarten Bodewes復制單聲道源代碼的答案,盡管我不可能實現。 問題是你必須移植一大塊單聲道加密才能使其正常工作。 (我找到了避免使用PasswordDeriveBytes的方法)。 謝謝Maarten!

只需從Mono獲取代碼, 只要您不需要來自PBKDF1的更多字節作為散列函數的輸出 ,它就應該沒問題

不要忘記閱讀開源許可。

PasswordDeriveBytes已過時,請改用Rfc2898DeriveBytes

var pdb = new Rfc2898DeriveBytes(Password,
            new byte[] {0x49, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,
            0x56, 0x57, 0x58, 0x59, 0x60, 0x61});

但是當您的數據已經被過時的功能加密並且您需要解密它們時,這對您沒有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM