Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var coolNames = ['Ralph', 'Skippy', 'Chip', 'Ned', 'Scooter'];
- exports.isACoolName = function(name) {
- return coolNames.indexOf(name) !== -1;
- }
- var name = require('cloud/name.js');
- name.isACoolName('Fred'); // returns false
- name.isACoolName('Skippy'); // returns true;
- name.coolNames; // undefined.
- function verifySignature(data, signature) {
- var KJUR = require('cloud/jsrsasign/npm/lib/jsrsasign.js');
- var strPubKey = '-----BEGIN PUBLIC KEY-----(snip)';
- // initialize
- var pubKey = KJUR.KEYUTIL.getKey(strPubKey);
- var verifier = new KJUR.Signature({"alg": "SHA1withRSA", "prov": "cryptojs/jsrsa"});
- // initialize for signature validation
- verifier.initVerifyByPublicKey(pubKey);
- // update data
- verifier.updateString(data);
- // verify signature
- return verifier.verify(base64ToHex(signature));
- }
- function base64ToHex(str) {
- for (var i = 0, bin = atob(str.replace(/[ rn]+$/, "")), hex = []; i < bin.length; ++i) {
- var tmp = bin.charCodeAt(i).toString(16);
- if (tmp.length === 1) tmp = "0" + tmp;
- hex[hex.length] = tmp;
- }
- return hex.join(" ");
- }
- function atob(base64) {
- var tableStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
- var table = tableStr.split("");
- if (/(=[^=]+|={3,})$/.test(base64)) throw new Error("String contains an invalid character");
- base64 = base64.replace(/=/g, "");
- var n = base64.length & 3;
- if (n === 1) throw new Error("String contains an invalid character");
- for (var i = 0, j = 0, len = base64.length / 4, bin = []; i < len; ++i) {
- var a = tableStr.indexOf(base64[j++] || "A"), b = tableStr.indexOf(base64[j++] || "A");
- var c = tableStr.indexOf(base64[j++] || "A"), d = tableStr.indexOf(base64[j++] || "A");
- if ((a | b | c | d) < 0) throw new Error("String contains an invalid character");
- bin[bin.length] = ((a << 2) | (b >> 4)) & 255;
- bin[bin.length] = ((b << 4) | (c >> 2)) & 255;
- bin[bin.length] = ((c << 6) | d) & 255;
- };
- return String.fromCharCode.apply(null, bin).substr(0, bin.length + n - 4);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement