java编码(js到java)

java编码(js到java),java,javascript,android,cryptography,sha1,Java,Javascript,Android,Cryptography,Sha1,我有一段js代码,我需要将其转换为适当的java代码,以便在我的Android应用程序中使用: toHex(Crypto.util.bytesToBase64(Crypto.SHA1(password, { asBytes: true }))); 我发现对于Crypto.util.bytesToBase64()方法,我可以使用java版本:Base64.encode(),但是我不知道如何在java中调用jsCryptoSHA1()和toHex()方法。有什么想法吗?该代码使用三个函数: SHA

我有一段js代码,我需要将其转换为适当的java代码,以便在我的Android应用程序中使用:

toHex(Crypto.util.bytesToBase64(Crypto.SHA1(password, { asBytes: true })));

我发现对于
Crypto.util.bytesToBase64()
方法,我可以使用java版本:
Base64.encode()
,但是我不知道如何在java中调用js
CryptoSHA1()
toHex()
方法。有什么想法吗?

该代码使用三个函数:

  • SHA-1文摘

    MessageDigest md=MessageDigest.getInstance(“SHA-1”); byte[]digest=md.digest(text.getBytes(“UTF-8”)

  • 基数64

    字符串base64=android.util.base64.encodeToString(摘要)

  • 六角形

  • 使用如下函数:

    总之,最后一步完全没有必要,只会破坏数据。base64的结果已经是可打印的ASCII字符串


    此外,使用SHA-1散列密码可能不安全,这取决于您对结果所做的操作。通常,密码哈希应该始终包含salt

    您真的需要
    toHex
    部件吗?当您将其转换为base64时,它仍然是ASCII文本。。。至于
    SHA1
    部分,搜索SHA1和Java应该会得到很多点击率…@JonSkeet这就是js代码的样子。此输出被发布到服务器,因此我打赌需要
    toHex
    。但不是100%确定