[英]converting java sha512crypt to c#
我正在嘗試將以下JAVA代碼復制到C#中,但我認為我做的不正確o_o
(代碼取自ftp://ftp.arlut.utexas.edu/pub/java_hashes/Sha512Crypt.java )
JAVA變量:
ctx,alt_ctx = MessageDigest
key =字符串(哈希密碼)
salt =字符串(添加到哈希中的鹽)
/* ---JAVA--- //
////////////////////////////////////////////////////
ctx.reset();
ctx.update(key, 0, key.length);
ctx.update(salt, 0, salt.length);
alt_ctx.reset();
alt_ctx.update(key, 0, key.length);
alt_ctx.update(salt, 0, salt.length);
alt_ctx.update(key, 0, key.length);
alt_result = alt_ctx.Digest();
//////////////////////////////////////////////////*/
C#變量:
ctx,alt_ctx = HashAlgorithm(SHA512Managed)
鍵和鹽與JAVA中的相同...
// --- C# EQUIV ? --- //
int TESTINGINT;
ctx = null;
ctx = new SHA512Managed();
ctx.TransformBlock(key, 0, key.Length, key, 0);
ctx.TransformBlock(salt, 0, salt.Length, salt, 0);
alt_ctx = null;
alt_ctx = new SHA512Managed();
alt_ctx.TransformBlock(key, 0, key.Length, key, 0);
alt_ctx.TransformBlock(salt, 0, salt.Length, salt, 0);
alt_ctx.TransformBlock(key, 0, key.Length, key, 0);
alt_result = alt_ctx.TransformFinalBlock(key, 0, key.Length); //most likely wrong here
//?????????????????????????????????????????????????????????//
就像我說的,很確定這是錯誤的...想知道是否有人知道確切的翻譯。
我也一直在尋找http://www.obviex.com/samples/hash.aspx尋求幫助。 但是,這不會給我相同的輸出,也沒有任何#個回合可以做。
給定單詞“ beta”,我試圖最終復制以下內容(一行)
$ 6 $ rounds = 60000 $ ZIFtW / dNUcD / k $ O57sTkYwuRpQcgpnIdKLShfCVR7.vGzfMhvvWn7Mg8trGJsWADChhs6S5ONybnSBWHEHIQKw66a4i / YrA4y / y1
謝謝你的幫助
因此,在進行了徹底的測試之后,我將C#固定為以下代碼,這似乎是等效的...
ctx = new SHA512Managed();
byte[] digestA = new byte[key.Length + salt.Length];
ctx.TransformBlock(key, 0, key.Length, digestA, 0);
ctx.TransformBlock(salt, 0, salt.Length, digestA, key.Length);
byte[] digestB = new byte[key.Length * 2 + salt.Length];
ctx.TransformBlock(key, 0, key.Length, digestB, 0);
ctx.TransformBlock(salt, 0, salt.Length, digestB, key.Length);
ctx.TransformBlock(key, 0, key.Length, digestB, key.Length + salt.Length);
alt_ctx = new SHA512Managed();
alt_result = alt_ctx.ComputeHash(digestB);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.