[解決済み] AndroidにおけるMD5ハッシュ
2023-01-14 10:50:52
質問
私は、シンプルなC# HTTPリスナーと「会話」する必要があるシンプルなアンドロイドクライアントを持っています。私は、POST リクエストでユーザー名/パスワードを渡すことによって、基本的なレベルの認証を提供したいと思います。
MD5 ハッシュは C# では些細なことで、私のニーズには十分なセキュリティを提供しますが、アンドロイド側でこれを行う方法を見つけることができないようです。
編集: MD5 の弱点について提起された懸念に対処するために、C# サーバーは、私のアンドロイド クライアントのユーザーの PC 上で実行されます。多くの場合、彼らは自分の LAN で wi-fi を使用してサーバーにアクセスしますが、自己責任でインターネットからアクセスすることもできます。また、サーバー上のサービスは、私がコントロールできないサードパーティのアプリケーションへの MD5 のパススルーを使用する必要があります。
どのように解決するのですか?
ここで
は、あなたが使うことのできる実装です (最新の Java 規約を使うために更新されました。
for:each
のループになります。
StringBuilder
の代わりに
StringBuffer
):
public static String md5(final String s) {
final String MD5 = "MD5";
try {
// Create MD5 Hash
MessageDigest digest = java.security.MessageDigest
.getInstance(MD5);
digest.update(s.getBytes());
byte messageDigest[] = digest.digest();
// Create Hex String
StringBuilder hexString = new StringBuilder();
for (byte aMessageDigest : messageDigest) {
String h = Integer.toHexString(0xFF & aMessageDigest);
while (h.length() < 2)
h = "0" + h;
hexString.append(h);
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
基本的なセキュリティレベルでも関わるシステムには推奨できませんが、(MD5 は壊れていると考えられており、簡単に悪用される可能性があります )、基本的な作業には十分である場合もあります。
関連
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み] PHPでパスワードをハッシュ化するためにbcryptを使用するにはどうすればよいですか?
-
[解決済み] JavaでMD5ハッシュを生成するにはどうすればよいですか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み] HttpPostによる画像送信
-
[解決済み] onCreate(Bundle savedInstanceState)とは?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] BottomSheetDialogFragmentの状態をexpandedに設定する。
-
[解決済み] アンドロイドフラグメント onRestoreInstanceState
-
[解決済み] Androidの連絡先リストを呼び出すには?
-
[解決済み] CardView layout_width="match_parent "が親のRecyclerViewの幅と一致しない。
-
[解決済み] Android - タイトルバーに戻るボタンが表示される
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] アンドロイドのクライアントでヒープアップデートを有効にする方法
-
[解決済み] Android StudioからADBを手動で再起動する方法
-
[解決済み] サポートライブラリのアクションバーをPreferenceActivityに追加するには?
-
[解決済み] AdmobのデバイスIDを取得するには?