crypto-lite 0.2.3 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -3
- data/README.md +1023 -501
- data/Rakefile +34 -33
- data/lib/crypto/lite.rb +2 -2
- data/lib/crypto-lite/config.rb +32 -32
- data/lib/crypto-lite/helper.rb +25 -25
- data/lib/crypto-lite/metal.rb +135 -128
- data/lib/crypto-lite/sign_rsa.rb +29 -29
- data/lib/crypto-lite/version.rb +23 -23
- data/lib/crypto-lite.rb +145 -147
- data/lib/crypto.rb +2 -2
- data/test/helper.rb +11 -11
- data/test/test_base58.rb +36 -36
- data/test/test_bitcoin_addr.rb +58 -58
- data/test/test_hash.rb +47 -47
- data/test/test_hash_sha.rb +90 -87
- data/test/test_version.rb +19 -19
- metadata +21 -7
data/test/test_hash_sha.rb
CHANGED
@@ -1,87 +1,90 @@
|
|
1
|
-
###
|
2
|
-
# to run use
|
3
|
-
# ruby -I ./lib -I ./test test/test_hash_sha.rb
|
4
|
-
|
5
|
-
|
6
|
-
require 'helper'
|
7
|
-
|
8
|
-
|
9
|
-
class TestHashSha < MiniTest::Test
|
10
|
-
|
11
|
-
SHA256_ABC = 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad'
|
12
|
-
SHA256_A = 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'
|
13
|
-
SHA256_B = '3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d'
|
14
|
-
SHA256_C = '2e7d2c03a9507ae265ecf5b5356885a53393a2029d241394997265a1a25aefc6'
|
15
|
-
|
16
|
-
|
17
|
-
BIN_TESTS = [
|
18
|
-
['', 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'],
|
19
|
-
['Hello, Cryptos!', '33eedea60b0662c66c289ceba71863a864cf84b00e10002ca1069bf58f9362d5'],
|
20
|
-
|
21
|
-
['Blockchain 1', '223aae3830e87aff41db07714983671429a74fb7064646e27ab62adbdc892cd1'],
|
22
|
-
['Blockchain 2', '8f4b5a896e78f680de2c141d25533e8c9207c9ee0d9b09c22a5a01d7992e7d1b'],
|
23
|
-
['Blockchain 3', 'f9f5e7d64f3a93f071900a73d34b2b722867adcb09345a21a25b5cd7f8b41254'],
|
24
|
-
['Blockchain 4', '69580cfb9a134395106ac27de53595cc41fb9940dcc298082c87144932a983a9'],
|
25
|
-
['Blockchain 12', 'f94455d34e7b32dc7dac780fb94a5e958f0d7e2da4cc6500505d5daed719c227'],
|
26
|
-
['Blockchain 13', '0cedb5e229c9582a35ec291ccb172b3f7c76a20c7f645e08d24ece8d5692e153'],
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
end
|
1
|
+
###
|
2
|
+
# to run use
|
3
|
+
# ruby -I ./lib -I ./test test/test_hash_sha.rb
|
4
|
+
|
5
|
+
|
6
|
+
require 'helper'
|
7
|
+
|
8
|
+
|
9
|
+
class TestHashSha < MiniTest::Test
|
10
|
+
|
11
|
+
SHA256_ABC = 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad'
|
12
|
+
SHA256_A = 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'
|
13
|
+
SHA256_B = '3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d'
|
14
|
+
SHA256_C = '2e7d2c03a9507ae265ecf5b5356885a53393a2029d241394997265a1a25aefc6'
|
15
|
+
|
16
|
+
|
17
|
+
BIN_TESTS = [
|
18
|
+
['', 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'],
|
19
|
+
['Hello, Cryptos!', '33eedea60b0662c66c289ceba71863a864cf84b00e10002ca1069bf58f9362d5'],
|
20
|
+
|
21
|
+
['Blockchain 1', '223aae3830e87aff41db07714983671429a74fb7064646e27ab62adbdc892cd1'],
|
22
|
+
['Blockchain 2', '8f4b5a896e78f680de2c141d25533e8c9207c9ee0d9b09c22a5a01d7992e7d1b'],
|
23
|
+
['Blockchain 3', 'f9f5e7d64f3a93f071900a73d34b2b722867adcb09345a21a25b5cd7f8b41254'],
|
24
|
+
['Blockchain 4', '69580cfb9a134395106ac27de53595cc41fb9940dcc298082c87144932a983a9'],
|
25
|
+
['Blockchain 12', 'f94455d34e7b32dc7dac780fb94a5e958f0d7e2da4cc6500505d5daed719c227'],
|
26
|
+
['Blockchain 13', '0cedb5e229c9582a35ec291ccb172b3f7c76a20c7f645e08d24ece8d5692e153'],
|
27
|
+
|
28
|
+
['Satoshi Nakamoto', 'a0dc65ffca799873cbea0ac274015b9526505daaaed385155425f7337704883e'],
|
29
|
+
['Satoshi Nakamot0', '73d607aab917435d5e79857769996c95027d4e42172698e0776e1295e285730e'],
|
30
|
+
]
|
31
|
+
|
32
|
+
|
33
|
+
def test_bin
|
34
|
+
BIN_TESTS.each do |item|
|
35
|
+
assert_equal item[1], sha256( item[0].b )
|
36
|
+
assert_equal item[1], sha256( item[0].b, engine: 'openssl' )
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
def test_abc
|
42
|
+
['abc',
|
43
|
+
'abc'.b,
|
44
|
+
"\x61\x62\x63",
|
45
|
+
0x616263
|
46
|
+
].each do |input|
|
47
|
+
assert_equal SHA256_ABC, sha256( input )
|
48
|
+
assert_equal SHA256_ABC, sha256( input, engine: 'openssl' )
|
49
|
+
end
|
50
|
+
|
51
|
+
['616263',
|
52
|
+
'0x616263',
|
53
|
+
'0X616263'
|
54
|
+
].each do |input|
|
55
|
+
assert_equal SHA256_ABC, sha256( hex: input )
|
56
|
+
end
|
57
|
+
## pp sha256hex( 'hello' ) -- fails - uses non-hex chars
|
58
|
+
|
59
|
+
# a = dec (97), hex (61), bin (01100001)
|
60
|
+
|
61
|
+
[ 'a',
|
62
|
+
"\x61",
|
63
|
+
0b01100001,
|
64
|
+
0x61
|
65
|
+
].each do |input|
|
66
|
+
assert_equal SHA256_A, sha256( input )
|
67
|
+
assert_equal SHA256_A, sha256( input, engine: 'openssl' )
|
68
|
+
end
|
69
|
+
|
70
|
+
['61',
|
71
|
+
'0x61',
|
72
|
+
'0X61'
|
73
|
+
].each do |input|
|
74
|
+
assert_equal SHA256_A, sha256( hex: input )
|
75
|
+
end
|
76
|
+
|
77
|
+
[ 'b',
|
78
|
+
0b01100010
|
79
|
+
].each do |input|
|
80
|
+
assert_equal SHA256_B, sha256( input )
|
81
|
+
end
|
82
|
+
|
83
|
+
[ 'c',
|
84
|
+
0b01100011
|
85
|
+
].each do |input|
|
86
|
+
assert_equal SHA256_C, sha256( input )
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
end # class TestHashSha
|
data/test/test_version.rb
CHANGED
@@ -1,19 +1,19 @@
|
|
1
|
-
###
|
2
|
-
# to run use
|
3
|
-
# ruby -I ./lib -I ./test test/test_version.rb
|
4
|
-
|
5
|
-
|
6
|
-
require 'helper'
|
7
|
-
|
8
|
-
|
9
|
-
class TestVersion < MiniTest::Test
|
10
|
-
|
11
|
-
def test_version
|
12
|
-
pp CryptoLite.version
|
13
|
-
pp CryptoLite.banner
|
14
|
-
pp CryptoLite.root
|
15
|
-
|
16
|
-
assert true ## (for now) everything ok if we get here
|
17
|
-
end
|
18
|
-
|
19
|
-
end # class TestVersion
|
1
|
+
###
|
2
|
+
# to run use
|
3
|
+
# ruby -I ./lib -I ./test test/test_version.rb
|
4
|
+
|
5
|
+
|
6
|
+
require 'helper'
|
7
|
+
|
8
|
+
|
9
|
+
class TestVersion < MiniTest::Test
|
10
|
+
|
11
|
+
def test_version
|
12
|
+
pp CryptoLite.version
|
13
|
+
pp CryptoLite.banner
|
14
|
+
pp CryptoLite.root
|
15
|
+
|
16
|
+
assert true ## (for now) everything ok if we get here
|
17
|
+
end
|
18
|
+
|
19
|
+
end # class TestVersion
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crypto-lite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: digest-
|
14
|
+
name: digest-lite
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: elliptic
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rdoc
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,14 +92,14 @@ dependencies:
|
|
78
92
|
requirements:
|
79
93
|
- - "~>"
|
80
94
|
- !ruby/object:Gem::Version
|
81
|
-
version: '3.
|
95
|
+
version: '3.23'
|
82
96
|
type: :development
|
83
97
|
prerelease: false
|
84
98
|
version_requirements: !ruby/object:Gem::Requirement
|
85
99
|
requirements:
|
86
100
|
- - "~>"
|
87
101
|
- !ruby/object:Gem::Version
|
88
|
-
version: '3.
|
102
|
+
version: '3.23'
|
89
103
|
description: crypto-lite - cryptographic secure hash functions and public key signature
|
90
104
|
algorithms made easy
|
91
105
|
email: wwwmake@googlegroups.com
|
@@ -114,7 +128,7 @@ files:
|
|
114
128
|
- test/test_hash.rb
|
115
129
|
- test/test_hash_sha.rb
|
116
130
|
- test/test_version.rb
|
117
|
-
homepage: https://github.com/
|
131
|
+
homepage: https://github.com/rubycocos/blockchain
|
118
132
|
licenses:
|
119
133
|
- Public Domain
|
120
134
|
metadata: {}
|
@@ -135,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
149
|
- !ruby/object:Gem::Version
|
136
150
|
version: '0'
|
137
151
|
requirements: []
|
138
|
-
rubygems_version: 3.
|
152
|
+
rubygems_version: 3.3.7
|
139
153
|
signing_key:
|
140
154
|
specification_version: 4
|
141
155
|
summary: crypto-lite - cryptographic secure hash functions and public key signature
|