mirror of https://github.com/veonik/squircy3
parent
2830953d52
commit
89fac8b64c
@ -0,0 +1,39 @@
|
||||
package main
|
||||
|
||||
import "code.dopame.me/veonik/squircy3/vm"
|
||||
|
||||
var crypto = &vm.Module{
|
||||
Name: "crypto",
|
||||
Main: "index",
|
||||
Body: `
|
||||
import {Buffer} from 'buffer';
|
||||
|
||||
class Sha1 {
|
||||
constructor() {
|
||||
this.data = Buffer.alloc(0);
|
||||
}
|
||||
|
||||
update(data) {
|
||||
this.data.write(data);
|
||||
return this;
|
||||
}
|
||||
|
||||
digest(kind) {
|
||||
switch(kind) {
|
||||
case 'hex':
|
||||
return sha1.Sum(this.data.toString());
|
||||
default:
|
||||
throw new Error('unsupported digest format: '+kind);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const createHash = (kind) => {
|
||||
switch(kind) {
|
||||
case 'sha1':
|
||||
return new Sha1();
|
||||
default:
|
||||
throw new Error('unsupported hash algo: '+kind);
|
||||
}
|
||||
};`,
|
||||
}
|
Loading…
Reference in new issue