@dashincubator/ripemd160
v3.0.0
Published
Browser-friendly ripemd160 hasher
Downloads
44
Readme
@dashincubator/ripemd160
Fully browser-compatible ripemd160
for JavaScript.
Works just like the other node crypto APIs.
Install
Browser:
<script src="https://unpkg.com/@dashincubator/ripemd160/ripemd160.js"></script>
let RIPEMD160 = window.RIPEMD160;
Node:
npm install --save @dashincubator/ripemd160@2
let RIPEMD160 = require("@dashincubator/ripemd160");
Example
let data = new Uint8Array([52, 50]);
let ripemd160 = RIPEMD160.create();
ripemd160.update(data);
let hash = ripemd160.digest();
console.log(hash);
// Uint8Array(20) [ 13, 240, ... 139, 200 ]
Uint8Array to Hex:
let hex = hash.reduce(function (hex, byte) {
return hex + byte.toString(16).padStart(2, "0");
}, "");
console.log(hex);
// "0df020ba32aa9b8b904471ff582ce6b579bf8bc8"
String to Uint8Array:
let message = "42";
let utf8Encoder = new TextEncoder();
let data = utf8Encoder.encode(message);
History
This fork is for the purpose of making the package <script>
-tag compatible for
plain, old browser JavaScript (but not incompatible with node or bundlers)
- Fork of https://github.com/rvagg/ripemd160
- Adds TypeScript types exports
- Operates natively on
Uint8Array
s ONLY- (use
new TextEncoder().encode(str)
encode strings toUint8Array
s
- (use
- Has no dependencies, even in the browser (i.e. no
Buffer
, noTextEncoder
) - Does not handle streaming operations (i.e. just use
update()
anddigest()
) - Forked from https://github.com/crypto-browserify/ripemd160
- Forked from https://github.com/crypto-browserify/hash-base)
License & Copyright
MIT
Copyright (c) 2022 AJ ONeal & Dash Incubator
Copyright (c) 2022 Rod Vagg
Copyright (c) 2016 crypto-browserify