サルでもわかる?ブロックチェーン復習

ブロックチェーンについて復習します
これを読めばサルでもわかるかも?

879 views

ハッシュ関数ってなんだっけ?

ハッシュ関数は以下の特徴があるんやで

  • 一方向にしか計算できず、逆算不可(不可逆性)
  • 入力データが少しでも異なれば、出力データが大きく変わる(機密性)
  • 入力データの長さにかかわらず、出力エータの長さは同じ(固定長)
  • 入力データから出力データを簡単に計算できる(処理速度)

ハッシュ関数の種類

ハッシュ関数にはいくつか種類があるで。

ハッシュ関数名 詳細
SHA-256 入力データのサイズにかかわらず、256ビットのハッシュ値を生成する。2回SHA-256を実行する手法もある
ROPEMD-160 入力データのサイズにかかわらず、160ビットのハッシュ値を生成する。SHA-256より小さいため、データサイズを節約できる
HMAC-SHA516 キーとデータのペアで入力して、516ビットのハッシュ値を生成する。階層的決定性ウォレットで使う(HDウォレット)

PythonでSHA-256を使ってみる

細かい説明は省くわ。各自セットアップしてくれ。(多分この辺がわかりやすいわ)

HELLOをハッシュ化してみる

[入力]

import hashlib

hash_hello = hashlib.sha256(b"HELLO").hexdigest()

print(hash_hello)

[出力]

3733cd977ff8eb18b987357e22ced99f46097f31ecb239e878ae63760e83e4d5

HELLOとHALLOをハッシュ化してみる

[入力]

import hashlib

hash_hello = hashlib.sha256(b"HELLO").hexdigest()
hash_hallo = hashlib.sha256(b"HALLO").hexdigest()

print(hash_hello)
print(hash_hallo)

[出力]

3733cd977ff8eb18b987357e22ced99f46097f31ecb239e878ae63760e83e4d5
f93351c9f7a2570b0958e84a7e833d5cb64ee8e3a17a8224b110d396fb805ced

HELLOとhelloとHELLO WORLD をハッシュ化する

[入力]

import hashlib

hash_hello = hashlib.sha256(b"HELLO").hexdigest()
hash_hallo = hashlib.sha256(b"HALLO").hexdigest()
hash_helloworld = hashlib.sha256(b"HELLO WORLD").hexdigest()

print(hash_hello)
print(hash_hallo)
print(hash_helloworld)

[出力]


3733cd977ff8eb18b987357e22ced99f46097f31ecb239e878ae63760e83e4d5
f93351c9f7a2570b0958e84a7e833d5cb64ee8e3a17a8224b110d396fb805ced
787ec76dcafd20c1908eb0936a12f91edd105ab5cd7ecc2b1ae2032648345dff

Page 5 of 9.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

owl

自己紹介

駆け出しエンジニア
だいたいweb系をかじってる
最近ちょとブロックチェーンに興味出てきた

サイト/ブログ

https://github.com/owl0109

ツイッター

@kijiken1