Module: ECDSA::Format::IntegerOctetString
- Defined in:
- lib/ecdsa/format/integer_octet_string.rb
Class Method Summary collapse
Class Method Details
.decode(string) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/ecdsa/format/integer_octet_string.rb', line 19 def self.decode(string) integer = 0 string.each_byte do |b| integer = (integer << 8) + b.ord end integer end |
.encode(integer, length) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/ecdsa/format/integer_octet_string.rb', line 10 def self.encode(integer, length) raise ArgumentError, 'Integer to encode is negative.' if integer < 0 raise ArgumentError, 'Integer to encode is too large.' if integer >= (1 << (8 * length)) length.pred.downto(0).map do |i| (integer >> (8 * i)) & 0xFF end.pack('C*') end |