[解決済み] Java文字列からSHA1へ
2022-04-23 01:38:43
質問
Javaで簡単なString to SHA1コンバータを作ろうとしているのですが、こんな感じです。
public static String toSHA1(byte[] convertme) {
MessageDigest md = null;
try {
md = MessageDigest.getInstance("SHA-1");
}
catch(NoSuchAlgorithmException e) {
e.printStackTrace();
}
return new String(md.digest(convertme));
}
これを渡すと
toSHA1("password".getBytes())
となります。
[�a�ɹ??�%l�3~��.
おそらくUTF-8のような単純なエンコーディングの修正なのでしょうが、私が欲しいもの、すなわち
5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
? それとも、私のやり方が完全に間違っているのでしょうか?
どのように解決するのですか?
アップデイト
を使用することができます。
アパッチコモンズコーデック
(バージョン1.7以上)を使用すると、この作業を行うことができます。
DigestUtils.sha1Hex(stringToConvertToSHexRepresentation)
ありがとうございました。 ジョン・オンストット をご提案いただきました。
古い回答
バイト配列から16進文字列に変換する。
Realのハウツー
.
return byteArrayToHexString(md.digest(convertme))
と(RealのHow Toからコピー)。
public static String byteArrayToHexString(byte[] b) {
String result = "";
for (int i=0; i < b.length; i++) {
result +=
Integer.toString( ( b[i] & 0xff ) + 0x100, 16).substring( 1 );
}
return result;
}
ちなみに、Base64を使うと、よりコンパクトな表現ができるかもしれません。 Apache Commons Codec API 1.4 には、このような悩みを解消してくれる素敵なユーティリティがあります。 こちらをご覧ください
関連
-
javaの模造品QQ WeChatのチャットルーム
-
アイデア Springboot Web プロジェクトを jar にパッケージ化する場合、Error: 無効または破損した jarfile x.jar 解決策
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
eclipse で「アクセス制限: タイプ 'HttpServer' は API ではありません」というプロンプトが表示される。
-
eclipse アクセス制限です。タイプ 'xxx' は API ではありません(必須ライブラリ '' の制限)。
-
スキャナは、タイプに解決することはできません最もルーキー初心者の質問
-
JQuery DataTable 详解
-
Spring boot runs with Error creating bean with name 'entityManagerFactory' defined in class path resource
-
Javaエラーメッセージがenclosingクラスでない
-
org.glassfish.jersey.servlet.ServletContainer
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
Maven Pluginの実行がライフサイクル設定の対象外であるエラーの解決