Advertisement
Guest User

Untitled

a guest
Sep 16th, 2014
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. var coolNames = ['Ralph', 'Skippy', 'Chip', 'Ned', 'Scooter'];
  2. exports.isACoolName = function(name) {
  3. return coolNames.indexOf(name) !== -1;
  4. }
  5.  
  6. var name = require('cloud/name.js');
  7. name.isACoolName('Fred'); // returns false
  8. name.isACoolName('Skippy'); // returns true;
  9. name.coolNames; // undefined.
  10.  
  11. function verifySignature(data, signature) {
  12. var KJUR = require('cloud/jsrsasign/npm/lib/jsrsasign.js');
  13. var strPubKey = '-----BEGIN PUBLIC KEY-----(snip)';
  14.  
  15. // initialize
  16. var pubKey = KJUR.KEYUTIL.getKey(strPubKey);
  17. var verifier = new KJUR.Signature({"alg": "SHA1withRSA", "prov": "cryptojs/jsrsa"});
  18.  
  19. // initialize for signature validation
  20. verifier.initVerifyByPublicKey(pubKey);
  21.  
  22. // update data
  23. verifier.updateString(data);
  24.  
  25. // verify signature
  26. return verifier.verify(base64ToHex(signature));
  27. }
  28.  
  29. function base64ToHex(str) {
  30. for (var i = 0, bin = atob(str.replace(/[ rn]+$/, "")), hex = []; i < bin.length; ++i) {
  31. var tmp = bin.charCodeAt(i).toString(16);
  32. if (tmp.length === 1) tmp = "0" + tmp;
  33. hex[hex.length] = tmp;
  34. }
  35. return hex.join(" ");
  36. }
  37.  
  38. function atob(base64) {
  39. var tableStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  40. var table = tableStr.split("");
  41.  
  42. if (/(=[^=]+|={3,})$/.test(base64)) throw new Error("String contains an invalid character");
  43. base64 = base64.replace(/=/g, "");
  44. var n = base64.length & 3;
  45. if (n === 1) throw new Error("String contains an invalid character");
  46. for (var i = 0, j = 0, len = base64.length / 4, bin = []; i < len; ++i) {
  47. var a = tableStr.indexOf(base64[j++] || "A"), b = tableStr.indexOf(base64[j++] || "A");
  48. var c = tableStr.indexOf(base64[j++] || "A"), d = tableStr.indexOf(base64[j++] || "A");
  49. if ((a | b | c | d) < 0) throw new Error("String contains an invalid character");
  50. bin[bin.length] = ((a << 2) | (b >> 4)) & 255;
  51. bin[bin.length] = ((b << 4) | (c >> 2)) & 255;
  52. bin[bin.length] = ((c << 6) | d) & 255;
  53. };
  54. return String.fromCharCode.apply(null, bin).substr(0, bin.length + n - 4);
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement