暗号化されたパスワード(md5)をSQLデータベースに送信していました。ちなみに、私は整数列にmd5暗号化を送った。入力したパスワードは「テスト」でデータベースには「5」と表示され、「qwertyqwerty」のパスワードが入力され、「2147483647」と表示されました。 ?なぜint値が大きく異なるのですか?MD5パスワードがINTのmysqlフィールドに送信されました
-1
A
答えて
1
MD5はパスワードを暗号化せず、ハッシュします。
ハッシュは、与えられた入力を受け取り、予測可能な出力を生成する(つまり、与えられた入力は常に同じ出力を持つ)一方向関数であり、理想的には非常に似通った入力でさえ、
MD5ハッシュは128ビットです。これらの128ビットを32ビットのSQL列に書き込もうとすると、確実に切り詰めが行われます。
MD5を生成するために使用した特定のコードを理解せずに整数に変換してからSQLに書き込むと、なぜ1つのケースで小さな番号が得られたのか理解できなくなり、符号付き整数の最大値。コードを投稿したい場合は、コメントしてうれしいです。
+0
それは故意ではなく、iveが問題を解決しました(私はmd5でそれを望みます、本当の暗号化は必要ありません)。しかし、情報をありがとう! –
0
なぜ私は最初の値が5(私はハッシュを参照する必要があります)が現れたと言うことはできませんが、2番目の値は整数列が保持できる最大値なので、
mysqlが文字列MD5ハッシュを整数に変換したとき(またはしようとしたとき)、整数が保持できる最大値を超えたため、代わりに最大整数が保存されました。
関連する問題
- 1. md5ハッシュされたパスワードがJWTAuthentication資格変数に渡されます
- 2. jQuery入力フィールドがページの先頭に送信されました。
- 3. 解放されたインスタンスにメッセージが送信されました
- 4. 生成された暗号化されたパスワードをC#からMySQLに送信する方法
- 5. サーバーに送信されたパスワードを暗号化する方法
- 6. 入力フィールドの更新anglejsのAFTER送信ボタンがクリックされました
- 7. パスワード回復:md5で暗号化されたパスワードを解読するには?
- 8. フォームを送信した後、2つのフィールドが保存されません。 Django
- 9. パスワードを忘れた場合は、Gmailアカウントにメッセージが送信されない
- 10. CAS:パスワードがLDAPに送信されない
- 11. 受信時に送信データが変更されました
- 12. ASP.NET MVC - 作成ビューでintを送信し、隠しフィールドにキャプチャします
- 13. MD5パスワード解読
- 14. md5パスワード取得
- 15. MD5パスワードは
- 16. Wordpress MD5パスワード
- 17. アンドロイドアプリから送信されたasp.net webformのユーザ名パスワード
- 18. Devise |自動生成されたユーザーのパスワードが送信された電子メールに表示されない
- 19. vtext.comに送信された電子メールへの私の電子メールの送信が中止されました
- 20. RMI:リモートオブジェクトのフィールドがシリアル化され、クライアントに送信されますか?
- 21. MYSQLフィールドが変更された場合は、QUERY WITH SELECT QUERYを送信してください。
- 22. 操作された入力フィールドはサーバに送信されません
- 23. が送信されたSMS
- 24. 解放されたインスタンスに送信されたメッセージ... @合成中に送信されましたか?
- 25. Ajaxオートコンプリート入力フィールド無しのデータが送信されない
- 26. チャットプログラムでメッセージを送信したクライアントにメッセージが送信されています
- 27. メールに送信されたパスワード作成リンクが、適切なページをlaravelにリダイレクトできませんでした
- 28. md5()とcrypt()で生成されたパスワードをリセットする方法
- 29. HWND_BROADCASTに送信されたメッセージは他のデスクトップに送信されますか?
- 30. LOAD DATA LOCAL INFILE後にMySQLフィールドがVARCHAR(20)からINTに変更されました
2147483647は、SIGNED INT列の最大値です。 – Interrobang
なぜパスワードハッシュにmd5を使用しますか? PBKDF2またはbcryptは標準的な選択肢です。 – CodesInChaos