1

MYSQL クエリと PHP による sha512 暗号化のデータをチェックする必要があります

私はこのようにmd5でそれを行うことができます:

SELECT * FROM text WHERE md5(id) = '$id'

でも、sha512ではどうですか?

よろしく

4

1 に答える 1

5

mysql 5.5+

SELECT * FROM text WHERE SHA2(id, 512) =  '$id'

詳細:

SHA2(str, hash_length)

ハッシュ関数の SHA-2 ファミリ (SHA-224、SHA-256、SHA-384、および SHA-512) を計算します。最初の引数は、ハッシュされる平文文字列です。2 番目の引数は、結果の目的のビット長を示します。この値は、224、256、384、512、または 0 (256 に相当) でなければなりません。いずれかの引数が NULL であるか、ハッシュ長が許可された値のいずれでもない場合、戻り値は NULL です。それ以外の場合、関数の結果は目的のビット数を含むハッシュ値になります。ハッシュ値の効率的な保存については、このセクションの冒頭にある注意事項を参照してください。

戻り値は、接続文字セットの非バイナリ文字列です。

mysql> SELECT SHA2('abc', 224);
        -> '23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7'

この関数は、MySQL が SSL サポートで構成されている場合にのみ機能します。セクション6.3.9「セキュア接続のための SSL の使用」を参照してください。

SHA2() は、MD5() または SHA1() よりも暗号的に安全であると見なすことができます。

于 2013-04-20T07:00:02.617 に答える