2015-05-15 109 views
0

所以我發現我沒有足夠先進的轉換爲java的加密的一部分。這是JavaScript加密:將Javascript加密方法轉換爲Java

function rstr2binl(input) { 
    var output = Array(input.length >> 2); 
    for(var i = 0; i < output.length; i++) 
     output[i] = 0; 

    for(var i = 0; i < input.length * 8; i += 8) 
     output[i>>5] |= (input.charCodeAt(i/8) & 0xFF) << (i%32); 

    return output; 
} 

我遇到了麻煩試圖找出一種數據輸出可以的。這是我的嘗試:

private static String rstr2binl(String input) 
{ 
    tnt[] output = {input.length() >> 2}; 

    for(int i = 0; i < output.length; i++) 
     output[i] = 0; 

    for(int i = 0; i < input.length() * 8; i += 8) 
     output[i>>5] |= (input.charAt(i/8) & 0xFF) << (i%32); 

    return output; 
} 

有人能告訴我如何將此JavaScript轉換爲java?

回答

1

既然你聲明的方法的變量output作爲int[]返回類型應該是int[]String

但是,快速搜索此方法表明它是生成MD5消息摘要的JavaScript庫的一部分。

http://pajhome.org.uk/crypt/md5/md5.html

在這種情況下,我建議來實現它在Java中,最好的方法就是不要試圖編寫自己的加密功能,只需使用標準的Java庫。 java.security.MessageDigest類可以返回MD5哈希。

http://docs.oracle.com/javase/7/docs/api/java/security/MessageDigest.html