Neulich habe ich den Artikel [hier] gelesen (https://qiita.com/namosuke/items/9b6dff13857f19cb30ec), und ich möchte ihn auch hashen und die Egosa des Ministers übertreffen! Ich dachte darüber nach und studierte über das Hashing von Python. Diesmal möchte ich also mitteilen, was ich gelernt habe.
-Der Algorithmus konvertiert die Zeichenfolge in eine Zeichenfolge mit unsichtbarer Regelmäßigkeit. (Beispiel) Vor dem Hashing: Probe ↓ Nach dem Hashing: b80f059f7c6301c6fb2a34615edca2634bc65fa6
-Es gibt viele Arten von Hashing-Algorithmen. -Die durch Hashing erzeugte Zeichenfolge wird als Hash-Wert bezeichnet. -Es ist schwierig, die ursprüngliche Zeichenfolge aus dem Hash-Wert zu schätzen. Mit anderen Worten, es ist einfach, von "Originaldaten in Hashwerte" zu konvertieren, aber es ist schwierig, "Originaldaten in Originaldaten" zu schätzen.
hash_list.py
import hashlib
print(sorted(hashlib.algorithms_guaranteed))
#['blake2b', 'blake2s', 'md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha3_224', 'sha3_256', 'sha3_384', 'sha3_512', 'sha512', 'shake_128', 'shake_256']
print(sorted(hashlib.algorithms_available))
#['DSA', 'DSA-SHA', 'MD4', 'MD5', 'MDC2', 'RIPEMD160', 'SHA', 'SHA1', 'SHA224', 'SHA256', 'SHA384', 'SHA512', 'blake2b', 'blake2s', 'dsaEncryption', 'dsaWithSHA', 'ecdsa-with-SHA1', 'md4', 'md5', 'mdc2', 'ripemd160', 'sha', 'sha1', 'sha224', 'sha256', 'sha384', 'sha3_224', 'sha3_256', 'sha3_384', 'sha3_512', 'sha512', 'shake_128', 'shake_256', 'whirlpool']
algorithms_guaranteed: Zeigt Hashing-Algorithmen für "Standardunterstützung" an. algorithms_available - Zeigt "verfügbare" Hash-Algorithmen an.
Dieses Mal werde ich drei vorstellen.
hash_sample.py
import hashlib
hash_before_word = 'Ich will nicht arbeiten'
# MD5
hash_after_word_md5 = hashlib.md5(hash_before_word.encode()).hexdigest()
print(hash_after_word_md5)
#450ba26c03d7740818d9b0f2bb97bc5
# blake2b
hash_after_word_blake2b = hashlib.blake2b(hash_before_word.encode()).hexdigest()
print(hash_after_word_blake2b)
#52e284d94dfdc8e88c2926f234907127e98738e03e96f21a510e4822e0891385154430de8c047a4c4868199aad8b8db093d3a995952d17c738e77cab7875acf9
# sha224
hash_after_word_sha224 = hashlib.sha224(hash_before_word.encode()).hexdigest()
print(hash_after_word_sha224)
Auf diese Weise kann es durch mehrere Hash-Algorithmen gehasht werden. Wenn Sie einen anderen Hash-Algorithmus verwenden möchten, ändern Sie einfach den Namen des Hash-Algorithmus.
Dieses Mal habe ich den Hashing-Algorithmus mit Python eingeführt. 67344549d15075a087a77f88e1ad920b21a387a9 Verwenden Sie diese Option, um die Egosa des Ministers zu vermeiden und Passwörter zu verwalten. (Halten Sie jedoch die Ethik)
Nein, es ist ffd4a94997286e73f1031aa7464b0d0cd1213bfd.
https://docs.python.org/ja/3/library/hashlib.html
Recommended Posts