少し前にハッシュ値について記事を書きました。
bananarian.hatenablog.com
実はRとPythonを使ってハッシュ値を出力することも出来ます。
今回も「banana」を入力してハッシュ値を出してみます。
Rの場合
opensslパッケージというパッケージで簡単に出力することが出来ます。
install.packages("openssl")
opensslパッケージには様々なハッシュ関数が用意されており、sha1やmd5など有名なものもいくつかあります。
>library(openssl) > sha1("banana") [1] "250e77f12a5ab6972a0895d290c4792f0a326ea8" > sha224("banana") [1] "8f5901a4a0a2d72ff9882e63c08d4c32b3eaa3683b6e5bfc0ca03e86" > sha256("banana") [1] "b493d48364afe44d11c0165cf470a4164d1e2609911ef998be868d46ade3de4e" > sha384("banana") [1] "92f7818b31b9936b90a5178e811979ef3ba68a14b57e8362424d54446f31ad2a249e4306628ad33ccb28b3e9dc5e043e" > sha512("banana") [1] "f8e3183d38e6c51889582cb260ab825252f395b4ac8fb0e6b13e9a71f7c10a80d5301e4a949f2783cb0c20205f1d850f87045f4420ad2271c8fd5f0cd8944be3" > sha2("banana", size = 256) [1] "b493d48364afe44d11c0165cf470a4164d1e2609911ef998be868d46ade3de4e" > md4("banana") [1] "f1fbbfb6277cbf01e27d61238a72491a" > md5("banana") [1] "72b302bf297a228a75730123efef7c41" > blake2b("banana") [1] "d4afa3130126ddcc01bb49e1388b0fbc94c185d1a07a67046a5b66923c38e178f490bc9b91a7e41c2d670be3c8435e5914b5cb5ee0d0ff52d9a783f601b18794" > blake2s("banana") [1] "228c3a8526197e63044a1654a9407707d7e250a7ccac489d3cad024ce6cd9ad7" > ripemd160("banana") [1] "e8f92e55b15aec83f458cfee39dd4ffeb7f4b8ed"
Pythonの場合
デフォルトでhashlibというメソッドがあるので、これを利用します。
hasulibメソッドにある各ハッシュ関数に対応するモジュールを次のような形で使ってやれば、ハッシュ値が出力されます。
>>> import hashlib >>> PW="banana" >>> print("MD5のハッシュ値:", hashlib.md5(PW.encode("utf-8")).hexdigest() ) MD5のハッシュ値: 72b302bf297a228a75730123efef7c41 >>> print("sha384のハッシュ値:", hashlib.sha384(PW.encode("utf-8")).hexdigest() ) sha384のハッシュ値: 92f7818b31b9936b90a5178e811979ef3ba68a14b57e8362424d54446f31ad2a249e4306628ad33ccb28b3e9dc5e043e >>> print("sha1のハッシュ値:", hashlib.sha1(PW.encode("utf-8")).hexdigest() ) sha1のハッシュ値: 250e77f12a5ab6972a0895d290c4792f0a326ea8 >>> print("sha224のハッシュ値:", hashlib.sha224(PW.encode("utf-8")).hexdigest() ) sha224のハッシュ値: 8f5901a4a0a2d72ff9882e63c08d4c32b3eaa3683b6e5bfc0ca03e86 >>> print("sha256のハッシュ値:", hashlib.sha256(PW.encode("utf-8")).hexdigest() ) sha256のハッシュ値: b493d48364afe44d11c0165cf470a4164d1e2609911ef998be868d46ade3de4e >>> print("sha512のハッシュ値:", hashlib.sha512(PW.encode("utf-8")).hexdigest() )
こんな感じでRやPython等でも簡単に出力することが出来ます。