2017-09-11 13 views
1
BytesEncryptor enc = Encryptors.standard("encryptionPassword",saltKey); 

byte[] encryptedPwd = enc.encrypt(pwd.getBytes()); 

byte[] decryptedPwd = enc.decrypt(encryptedPwd); 

私はBytesEncryptors(Springセキュリティ)を使用してパスワードを暗号化/復号化しました。暗号化/復号化されたパスワードをバイト[]で持っています。私は暗号化された/解読されたパスワードを取得したい。スプリングセキュリティ - BytesEncryptor - 適切な暗号化パスワードを取得していません

は、だから私は何をすべきか二行目はうまく機能している

System.out.println(new String(encryptedPwd,"UTF-8")); 

System.out.println(new String(decryptedPwd,"UTF-8")); 

、です。最初の行は、エンコードされたパスワードの文字列表現を私に教えてくれません。それは役に立たない何かを示す。

1)私の最初の行が2番目の行のように機能しないのはなぜですか?

2)Spring Beanの設定(XMLファイル)に同じ暗号化アルゴリズムを使用したい場合はどうすればよいですか?データソース情報のように/いくつかの他のログイン資格情報は、XMLファイル内で暗号化されなければならない(*私はここに休止状態は使用しないでください)

+0

'Ctrl + 'K''または' ''引用符でコードを書式化してみてください –

+2

暗号化されたパスワードはどのように見えますか? – holmis83

+0

私はこのようなものを得ます '-Ú×°ä÷q' 'd。そして、私はそれがプロパティファイルに格納する暗号化されたパスワードであるかどうかわからない – user3603360

答えて

1

「ランダム」バイト配列のテキスト・安全な表現については、base64エンコードを使用します。

System.out.println(Base64Utils.encodeToString(encryptedPwd)); 

Base64Utilsでエンコードとデコードの両方を行うことができます。

+0

ありがとう。そのコードはうまくいきます。 – user3603360

+0

@ user3603360聞いてよかったです。これがあなたの質問に答えると思うなら、受け入れることを忘れないでください。 – holmis83

関連する問題