2013-03-19 69 views
2

忽略DES提供的弱安全性,我正在尋找一個使用.net框架的Cryptography命名空間中的類/方法的Unix crypt()函數的C#實現。C#使用System.Security.Cryptography實現Unix crypt

我發現這一點: http://www.codeproject.com/Articles/9183/A-C-implementation-of-Unix-crypt

但我不知道是否有使用DESCryptoServiceProvider較短溶液等

+0

可能.Net框架開發人員無法自行實現如此不安全的東西:-) – explunit 2013-03-19 13:14:19

回答

2

傳統和擴展的DES地穴鹽析置換的expansion function的結果。對於我在salt中設置的每一位,它們將擴展函數結果的位i和i + 24進行交換。因爲這發生在中途,除非鹽爲零(意味着不發生排列),所以不可能使用框架密碼術。

不過,重新實現DES不會超過一個或兩個千字節。我的CryptSharp庫實現了傳統和擴展的DES,MD5,SHA256,SHA512和bcrypt算法。對於MD5和SHA crypt方法(方法$ 1 $,$ 5 $和$ 6 $),它使用框架加密。如果您不想使用DES加密方法,請查看ShaCrypter.cs - 它相當短。

+0

不錯的答案,Zer! – SFun28 2013-05-07 12:31:07

+0

完成與CryptSharp。我只是希望它快一點。我猜這就是.net框架。我在同一臺機器上運行jtr(john the ripper),性能要高得多。 – Rbjz 2014-06-20 10:32:42