2013-03-19 72 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