forked from olcxjas-softworks/LarpixClient
update electron to v43
This commit is contained in:
parent
68ac0beedf
commit
fb6c8b6ee9
5385 changed files with 513060 additions and 123058 deletions
80
electron/node_modules/webcrypto-core/README.md
generated
vendored
Normal file
80
electron/node_modules/webcrypto-core/README.md
generated
vendored
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
<h1 align="center">
|
||||
webcrypto-core
|
||||
</h1>
|
||||
|
||||
<div align="center">
|
||||
|
||||

|
||||

|
||||
[](https://www.npmjs.com/package/webcrypto-core)
|
||||

|
||||
[](https://www.npmjs.com/package/webcrypto-core)
|
||||
|
||||
</div>
|
||||
|
||||
We have created a number of WebCrypto polyfills including: [node-webcrypto-ossl](https://github.com/PeculiarVentures/node-webcrypto-ossl), [node-webcrypto-p11](https://github.com/PeculiarVentures/node-webcrypto-p11), and [webcrypto-liner](https://github.com/PeculiarVentures/webcrypto-liner). `webcrypto-core` was designed to be a common layer to be used by all of these libraries for input validation.
|
||||
|
||||
Unless you intend to create a WebCrypto polyfill this library is probably not useful to you.
|
||||
|
||||
## Installing
|
||||
|
||||
```
|
||||
npm install webcrypto-core
|
||||
```
|
||||
|
||||
## Example
|
||||
|
||||
Current examples shows how you can implement your own WebCrypt interface
|
||||
|
||||
```js
|
||||
const core = require(".");
|
||||
const crypto = require("crypto");
|
||||
|
||||
class Sha1Provider extends core.ProviderCrypto {
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this.name = "SHA-1";
|
||||
this.usages = [];
|
||||
}
|
||||
|
||||
async onDigest(algorithm, data) {
|
||||
const hash = crypto.createHash("SHA1").update(Buffer.from(data)).digest();
|
||||
return new Uint8Array(hash).buffer;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class SubtleCrypto extends core.SubtleCrypto {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
// Add SHA1 provider to SubtleCrypto
|
||||
this.providers.set(new Sha1Provider());
|
||||
}
|
||||
}
|
||||
|
||||
class Crypto extends core.Crypto {
|
||||
|
||||
constructor() {
|
||||
this.subtle = new SubtleCrypto();
|
||||
}
|
||||
|
||||
getRandomValues(array) {
|
||||
const buffer = Buffer.from(array.buffer);
|
||||
crypto.randomFillSync(buffer);
|
||||
return array;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const webcrypto = new Crypto();
|
||||
webcrypto.subtle.digest("SHA-1", Buffer.from("TEST MESSAGE"))
|
||||
.then((hash) => {
|
||||
console.log(Buffer.from(hash).toString("hex")); // dbca505deb07e1612d944a69c0c851f79f3a4a60
|
||||
})
|
||||
.catch((err) => {
|
||||
console.error(err);
|
||||
});
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue