2010-02-18 21 views
3

我試圖爲手機創建一次性密碼生成器。在RFC2289中,它指定我必須摺疊MD5的輸出,我使用彈性城堡MD5,並且無法確定如何摺疊字節數組輸出。OTP S/KEY一次性密碼 - 摺疊MD5摘要輸出

for (int i = 0; i < 8; i++) 
{ 
    md5[i] ^= md5[i+8]; 
} 

這是我迄今爲止

回答

1

也許,你想這樣:

for (int i = 0; i < 8; ++i) 
    md5[i] ^= md5[i + 8]; 
return Arrays.copyOf(md5, 8); 

這樣一來,只有前64位(由OTP使用)返回。