1

以下に電話して、パスワードハッシュを作成します。

ByteString password = ByteString.copyFrom(DigestUtils.sha256("mypassword"));

しかし今、私はクライアント(JavaScript)からsha256変換されたパスワードメッセージを送信する必要があります。CryptoJSを次のように使うのに疲れました

 var pass = CryptoJS.SHA256(document.getElementById('password').value);
    var passhash = pass.toString(CryptoJS.enc.Latin1)
    login(passhash);

文字列を取得するために、すべてのBase64、Latin1、およびHexタイプを試しました。ただし、Javaのパスワードと同じパスワードは生成されません。

4

1 に答える 1

1

問題は文字エンコードにありました。以下、問題を修正しました。

JSで:

var password = pass.toString(CryptoJS.enc.Utf16); 

Javaの場合:

byte[] passhash = jsCryptoString.getBytes("UTF-16BE");
于 2013-01-21T09:39:17.297 に答える