Module: HashPump
- Defined in:
- lib/hashpump.rb,
lib/hashpump/version.rb
Overview
HashPumpを用いてHash Length Extension attackを行うための関数を定義したモジュールです
Constant Summary collapse
- VERSION =
バージョン
"0.0.1"
Class Method Summary collapse
- .call_hashpump ⇒ Object
-
.hashpump(signature, known_data, append_data, key_length, hex_digest = true) ⇒ Array
HashPumpを用いてハッシュ拡張攻撃を行います。ハッシュ値の種類はハッシュの長さにより自動的に識別されます。.
Class Method Details
.call_hashpump ⇒ Object
.hashpump(signature, known_data, append_data, key_length, hex_digest = true) ⇒ Array
HashPumpを用いてハッシュ拡張攻撃を行います。ハッシュ値の種類はハッシュの長さにより自動的に識別されます。
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/hashpump.rb', line 12 def hashpump(signature, known_data, append_data, key_length, hex_digest = true) if hex_digest signature = signature.unpack("H*")[0] unless /^[A-Fa-f0-9]*$/ =~ signature else signature = signature.unpack("H*")[0] end signature, data = call_hashpump([signature.to_s].pack("H*").unpack("C*"), known_data.to_s.unpack("C*"), append_data.to_s.unpack("C*"), key_length) signature = signature.pack("C*").unpack("H*")[0] data = data.pack("C*") signature = [signature].pack("H*") unless hex_digest [signature, data] end |