diff --git a/package-lock.json b/package-lock.json
index 3009813..e763fcc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -148,9 +148,9 @@
       "integrity": "sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew=="
     },
     "bip32": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/bip32/-/bip32-1.0.2.tgz",
-      "integrity": "sha512-kedLYj8yvYzND+EfzeoMSlGiN7ImiRBF/MClJSZPkMfcU+OQO7ZpL5L/Yg+TunebBZIHhunstiQF//KLKSF5rg==",
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/bip32/-/bip32-1.0.3.tgz",
+      "integrity": "sha512-rY7ie/4Nmcpgx1y4kAsJJLiluGzNzz20u44LFaElLXCGq3hQjfHV11r9fHwbtquKZ4JXL7BEMCnmpCzFko4ZLA==",
       "requires": {
         "bs58check": "^2.1.1",
         "create-hash": "^1.2.0",
diff --git a/package.json b/package.json
index 0c3a31f..72ae4b5 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
   ],
   "dependencies": {
     "bech32": "^1.1.2",
-    "bip32": "^1.0.0",
+    "bip32": "^1.0.3",
     "bip66": "^1.1.0",
     "bitcoin-ops": "^1.4.0",
     "bs58check": "^2.0.0",
diff --git a/src/crypto.js b/src/crypto.js
index a11d061..604cd0c 100644
--- a/src/crypto.js
+++ b/src/crypto.js
@@ -1,7 +1,18 @@
 const createHash = require('create-hash')
 
+let rmd160
+try {
+  rmd160 = require('crypto')
+    .getHashes()
+    .includes('rmd160')
+    ? 'rmd160'
+    : 'ripemd160'
+} catch (err) {
+  rmd160 = 'rmd160'
+}
+
 function ripemd160 (buffer) {
-  return createHash('rmd160').update(buffer).digest()
+  return createHash(rmd160).update(buffer).digest()
 }
 
 function sha1 (buffer) {