Java me OTP S/密钥一次性密码-折叠MD5摘要输出

Java me OTP S/密钥一次性密码-折叠MD5摘要输出,java-me,one-time-password,Java Me,One Time Password,我正在尝试为手机创建一次性密码生成器。在RFC2289中,它指定我必须折叠MD5的输出,我使用的是bouncy castle MD5,我无法确定如何折叠字节数组输出 for (int i = 0; i < 8; i++) { md5[i] ^= md5[i+8]; } for(int i=0;i

我正在尝试为手机创建一次性密码生成器。在RFC2289中,它指定我必须折叠MD5的输出,我使用的是bouncy castle MD5,我无法确定如何折叠字节数组输出

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

这就是我到目前为止所拥有的

也许,你想要这个:

for (int i = 0; i < 8; ++i)
    md5[i] ^= md5[i + 8];
return Arrays.copyOf(md5, 8);
for(int i=0;i<8;++i)
md5[i]^=md5[i+8];
返回数组.copyOf(md5,8);
这样,只返回前64位(OTP使用)