@ -29,7 +29,7 @@ snippetFiles.push(...snippetFilesArchive);
|
|||||||
|
|
||||||
|
|
||||||
// Current Snippet that depend on node_modules
|
// Current Snippet that depend on node_modules
|
||||||
const errSnippets = ['JSONToFile', 'readFileLines', 'UUIDGeneratorNode'];
|
const errSnippets = ['JSONToFile', 'readFileLines', 'UUIDGeneratorNode', 'hashNode'];
|
||||||
console.time('Tester');
|
console.time('Tester');
|
||||||
snippetFiles
|
snippetFiles
|
||||||
.filter(fileName => !errSnippets.includes(fileName))
|
.filter(fileName => !errSnippets.includes(fileName))
|
||||||
|
|||||||
22
snippets/hashBrowser.md
Normal file
22
snippets/hashBrowser.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
### hashBrowser
|
||||||
|
|
||||||
|
Creates a hash for a value using the [SHA-256](https://en.wikipedia.org/wiki/SHA-2) algorithm. Returns a promise.
|
||||||
|
|
||||||
|
Use the [SubtleCrypto](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto) API to create a hash for the given value.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const hashBrowser = val =>
|
||||||
|
crypto.subtle
|
||||||
|
.digest('SHA-256', new TextEncoder('utf-8').encode(val))
|
||||||
|
.then(h => {
|
||||||
|
let hexes = [],
|
||||||
|
view = new DataView(h);
|
||||||
|
for (let i = 0; i < view.byteLength; i += 4)
|
||||||
|
hexes.push(('00000000' + view.getUint32(i).toString(16)).slice(-8));
|
||||||
|
return hexes.join('');
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
hashBrowser(JSON.stringify({a :'a', b: [1,2,3,4], 'foo': {c: 'bar'}})).then(console.log); // '04aa106279f5977f59f9067fa9712afc4aedc6f5862a8defc34552d8c7206393'
|
||||||
|
```
|
||||||
15
snippets/hashNode.md
Normal file
15
snippets/hashNode.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
### hashNode
|
||||||
|
|
||||||
|
Creates a hash for a value using the [SHA-256](https://en.wikipedia.org/wiki/SHA-2) algorithm. Returns a promise.
|
||||||
|
|
||||||
|
Use `crypto` API to create a hash for the given value.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const crypto = require('crypto');
|
||||||
|
const hashNode = val =>
|
||||||
|
new Promise(resolve => setTimeout(() => resolve(crypto.createHash('sha256').update(val).digest('hex')),0));
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
hashBrowser(JSON.stringify({a :'a', b: [1,2,3,4], 'foo': {c: 'bar'}})).then(console.log); // '04aa106279f5977f59f9067fa9712afc4aedc6f5862a8defc34552d8c7206393'
|
||||||
|
```
|
||||||
@ -64,6 +64,8 @@ groupBy:array,object
|
|||||||
hammingDistance:math
|
hammingDistance:math
|
||||||
hasClass:browser,css
|
hasClass:browser,css
|
||||||
hasFlags:node
|
hasFlags:node
|
||||||
|
hashBrowser:browser,utility,advanced
|
||||||
|
hashNode:node,utility
|
||||||
head:array
|
head:array
|
||||||
hexToRGB:utility,string,math,advanced
|
hexToRGB:utility,string,math,advanced
|
||||||
hide:browser,css
|
hide:browser,css
|
||||||
|
|||||||
Reference in New Issue
Block a user