Skip to content

Commit b5c4230

Browse files
committed
crypto: use packages directly
1 parent 03f3ccf commit b5c4230

File tree

5 files changed

+23
-20
lines changed

5 files changed

+23
-20
lines changed

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,11 @@
4646
},
4747
"dependencies": {
4848
"bigi": "^1.4.0",
49-
"bs58check": "^1.0.4",
49+
"bs58check": "^1.0.5",
50+
"create-hash": "^1.1.0",
51+
"create-hmac": "^1.1.3",
5052
"ecurve": "^1.0.0",
53+
"randombytes": "^2.0.1",
5154
"typeforce": "^1.0.0"
5255
},
5356
"devDependencies": {

src/crypto.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var crypto = require('crypto')
1+
var createHash = require('create-hash')
22

33
function hash160 (buffer) {
44
return ripemd160(sha256(buffer))
@@ -9,15 +9,15 @@ function hash256 (buffer) {
99
}
1010

1111
function ripemd160 (buffer) {
12-
return crypto.createHash('rmd160').update(buffer).digest()
12+
return createHash('rmd160').update(buffer).digest()
1313
}
1414

1515
function sha1 (buffer) {
16-
return crypto.createHash('sha1').update(buffer).digest()
16+
return createHash('sha1').update(buffer).digest()
1717
}
1818

1919
function sha256 (buffer) {
20-
return crypto.createHash('sha256').update(buffer).digest()
20+
return createHash('sha256').update(buffer).digest()
2121
}
2222

2323
module.exports = {

src/ecdsa.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var assert = require('assert')
2-
var crypto = require('crypto')
2+
var createHmac = require('create-hmac')
33
var typeForce = require('typeforce')
44

55
var BigInteger = require('bigi')
@@ -29,45 +29,45 @@ function deterministicGenerateK (curve, hash, d, checkSig) {
2929
k.fill(0)
3030

3131
// Step D
32-
k = crypto.createHmac('sha256', k)
32+
k = createHmac('sha256', k)
3333
.update(v)
3434
.update(ZERO)
3535
.update(x)
3636
.update(hash)
3737
.digest()
3838

3939
// Step E
40-
v = crypto.createHmac('sha256', k).update(v).digest()
40+
v = createHmac('sha256', k).update(v).digest()
4141

4242
// Step F
43-
k = crypto.createHmac('sha256', k)
43+
k = createHmac('sha256', k)
4444
.update(v)
4545
.update(ONE)
4646
.update(x)
4747
.update(hash)
4848
.digest()
4949

5050
// Step G
51-
v = crypto.createHmac('sha256', k).update(v).digest()
51+
v = createHmac('sha256', k).update(v).digest()
5252

5353
// Step H1/H2a, ignored as tlen === qlen (256 bit)
5454
// Step H2b
55-
v = crypto.createHmac('sha256', k).update(v).digest()
55+
v = createHmac('sha256', k).update(v).digest()
5656

5757
var T = BigInteger.fromBuffer(v)
5858

5959
// Step H3, repeat until T is within the interval [1, n - 1] and is suitable for ECDSA
6060
while ((T.signum() <= 0) || (T.compareTo(curve.n) >= 0) || !checkSig(T)) {
61-
k = crypto.createHmac('sha256', k)
61+
k = createHmac('sha256', k)
6262
.update(v)
6363
.update(ZERO)
6464
.digest()
6565

66-
v = crypto.createHmac('sha256', k).update(v).digest()
66+
v = createHmac('sha256', k).update(v).digest()
6767

6868
// Step H1/H2a, again, ignored as tlen === qlen (256 bit)
6969
// Step H2b again
70-
v = crypto.createHmac('sha256', k).update(v).digest()
70+
v = createHmac('sha256', k).update(v).digest()
7171
T = BigInteger.fromBuffer(v)
7272
}
7373

src/eckey.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
var assert = require('assert')
22
var base58check = require('bs58check')
3-
var crypto = require('crypto')
43
var ecdsa = require('./ecdsa')
5-
var typeForce = require('typeforce')
64
var networks = require('./networks')
5+
var randomBytes = require('randombytes')
6+
var typeForce = require('typeforce')
77

88
var BigInteger = require('bigi')
99
var ECPubKey = require('./ecpubkey')
@@ -47,7 +47,7 @@ ECKey.fromWIF = function (string) {
4747
}
4848

4949
ECKey.makeRandom = function (compressed, rng) {
50-
rng = rng || crypto.randomBytes
50+
rng = rng || randomBytes
5151

5252
var buffer = rng(32)
5353
typeForce('Buffer', buffer)

src/hdnode.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
var assert = require('assert')
22
var base58check = require('bs58check')
33
var bcrypto = require('./crypto')
4-
var crypto = require('crypto')
4+
var createHmac = require('create-hmac')
55
var typeForce = require('typeforce')
66
var networks = require('./networks')
77

@@ -62,7 +62,7 @@ HDNode.fromSeedBuffer = function (seed, network) {
6262
assert(seed.length >= 16, 'Seed should be at least 128 bits')
6363
assert(seed.length <= 64, 'Seed should be at most 512 bits')
6464

65-
var I = crypto.createHmac('sha512', HDNode.MASTER_SECRET).update(seed).digest()
65+
var I = createHmac('sha512', HDNode.MASTER_SECRET).update(seed).digest()
6666
var IL = I.slice(0, 32)
6767
var IR = I.slice(32)
6868

@@ -225,7 +225,7 @@ HDNode.prototype.derive = function (index) {
225225
])
226226
}
227227

228-
var I = crypto.createHmac('sha512', this.chainCode).update(data).digest()
228+
var I = createHmac('sha512', this.chainCode).update(data).digest()
229229
var IL = I.slice(0, 32)
230230
var IR = I.slice(32)
231231

0 commit comments

Comments
 (0)