{"_id":"sign","_rev":"15-427eee646b2b356f60f6317093a752da","name":"sign","description":"A universal javascript library for signing strings to avoid tampering","dist-tags":{"latest":"1.0.2"},"versions":{"0.0.0":{"author":{"name":"Joshua Holbrook","email":"josh.holbrook@gmail.com","url":"http://jesusabdullah.github.com"},"name":"sign","description":"Type signatures for javascript","version":"0.0.0","homepage":"https://github.com/jesusabdullah/node-sign","repository":{"type":"git","url":"git@github.com:jesusabdullah/node-sign.git"},"main":"lib/sign.js","scripts":{"test":"expresso"},"engines":{"node":"~v0.4.9"},"dependencies":{},"devDependencies":{},"_npmJsonOpts":{"file":"/home/josh/.npm/sign/0.0.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"sign@0.0.0","_engineSupported":true,"_npmVersion":"1.0.22","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"e02065f1833e27871e4da2b7deca0d8ea859db92","tarball":"https://registry.npmjs.org/sign/-/sign-0.0.0.tgz","integrity":"sha512-+SplQ9qapVPycM/Vf2VWBGbTVwjHmADF+AzjIToMg/6EfuRJuKi/qugonw/O1Fw3JJnMviuYAqBbN5BUrf847Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAq6uf4L6J43EmWejvPtgvi91B7MxICpyWVLcXS2iSDwAiA4HNwZHNnQ6kbiDcjg7YV5XI3yzi4S7VAaI2NyCEqCnw=="}]},"maintainers":[{"name":"jesusabdullah","email":"josh.holbrook@gmail.com"}],"directories":{},"deprecated":"I wrote this module a very long time ago; you should use something else."},"1.0.0-alpha.1":{"name":"sign","version":"1.0.0-alpha.1","description":"A library for signing strings and validating signatures","main":"index.js","type":"module","scripts":{"test":"jest --detectOpenHandles"},"keywords":["sign","cookies","node","browser","universal","verify","check"],"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","engines":{"node":">=12.0.0"},"engineStrict":true,"dependencies":{},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]],"plugins":[["@babel/plugin-syntax-dynamic-import"]],"env":{"test":{"plugins":["dynamic-import-node"]}}},"devDependencies":{"@babel/core":"^7.6.4","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.6.3","jest":"^24.9.0"},"gitHead":"108a768527bd9613dd07938a3ebfbf195688e85b","_id":"sign@1.0.0-alpha.1","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-J8b6Zae8342z3XZbZrReWbQ6BNuO2aUAlc6gvE+eSMf9/oR0mrQIBRrljisYqQh4FZtNAMrFXbOU8RHsdT+6eg==","shasum":"1bcdcbbeb4360e5789dca2d3bbf3aac60ec62e84","tarball":"https://registry.npmjs.org/sign/-/sign-1.0.0-alpha.1.tgz","fileCount":4,"unpackedSize":5763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn0TsCRA9TVsSAnZWagAA848P/2EdjqxDUXPOag0cw6Jo\n8VgbhqifLR9E9OUBVx6tjWRbGLHVas3JoSZ5RaHgC8LJKOzWCg5vBla+RPWn\nnbmPxhJMSnFc2gVfvx8PR7+BWNzzxpwqWSNGFz46kr4C3YAEG7ndL+HGNrX5\n+vRt1Zq7cx9FYb28EA0lEH949Ybhgsn3JUQeipJF2jQ1ZnaZ/uMH5tPL847i\n/c6SbTKRR9alZtt7thUYWWIwbhaGSDYRl+4UkcqNfFacQaNOzywKBC21ujcv\nqaAiHEkU3EJKcbJIl4O0+O5OEmuaaOS+CIEKdpUnbBB/mF5iUxtbpHSFxmsS\nc1EIjSBY3rUJiVnjp3sUheUd2tQnu69I7gVqwafQlmbIF91p2GAUg14bsSmq\nHHU4Abxn8eiTdebpLmLGZosdCmhrbScTYiAh1RZgxnrS7FURza9LWZhl+YHQ\nVxGlU965isd596d7FS50WUAHlTGQ4BvdM+uY0Z4Qx4bvksA/goe+oAN005rq\n9A8f3GIn1O6mvHf4c7Lz18vpe50H3JVyuyZhXQKTyXWtNt6MCQJx/1C/R7fN\nEWjSOGv5dlM4jkWAZcqfCFjJUb+DcKQulNXG8H+95eMJ9d9Bgh8JFGQv7jqp\nd8aMJbOyFWTTNvJjI7YmoOx3CS9VZs6hfD9E8Uc6gRTZOWi6J+yuS27D4hcL\nyeAx\r\n=kwLd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUcvKqeA0abdyGYZt9IvJhJ8KqgfkbBIz2GKOJl2KRigIgOy4mRkWaADum+zK1GcuNfebYX5s6eyDajHArhw6aLdA="}]},"maintainers":[{"email":"public@francisco.io","name":"franciscop"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sign_1.0.0-alpha.1_1570718955789_0.5829312417475148"},"_hasShrinkwrap":false},"1.0.0-alpha.2":{"name":"sign","version":"1.0.0-alpha.2","description":"A library for signing strings and validating signatures","main":"index.js","type":"module","scripts":{"bundle":"rollup test.js --o test.browser.js --f cjs","test":"node --experimental-modules test.js"},"keywords":["sign","cookies","node","browser","universal","verify","check"],"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","engines":{"node":">=12.0.0"},"engineStrict":true,"dependencies":{},"devDependencies":{"@babel/core":"^7.6.4","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.6.3","jest":"^24.9.0","rollup":"^1.23.1"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]],"plugins":[["@babel/plugin-syntax-dynamic-import"]],"env":{"test":{"plugins":["dynamic-import-node"]}}},"gitHead":"3b446a1a2cc79e41745a839648926f39dc9c6c2b","_id":"sign@1.0.0-alpha.2","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BwYgLcBocI9G4kpfaBgp5GlZBmMSO1ttSrXayD49MkvzywgVvd+nsytUBhm8+NF8z6DYwDdTeoi7DtFWVbo3Kg==","shasum":"40e1dbaabbce05376fde71dfdfb7f2b67164b231","tarball":"https://registry.npmjs.org/sign/-/sign-1.0.0-alpha.2.tgz","fileCount":4,"unpackedSize":6099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn1tfCRA9TVsSAnZWagAA+kUP/0zUZBgRqMSceIqzND0+\nnfht5hmcrllUOb7BjXAoMTJssGXnbJxDwiID2K+MeL1f42fqKH/7qlwe/mwH\n9fjC6pphwLjztoIijU1LCy/j5erqKzlmryXA+oxE9OLz7OBqgBEMWaDP+/yn\nSuy/XGCTCQKiXyTcCWKCIwAnl3icjhqsjGwje+ut02o+THlKn2ZfZ9IFTl4e\nKvSS7IhFBrS5ztXVT0uyWyEadkGNiBtIEDYmAcM1IyIUZc2nAqEvnPUKKCVm\n0xHH1XNvQVEFEq0lS5xiquFu7poZzWkExGwp2y2QwMxMPnVRAZlbE2rftx17\nh0qz9MvKcrq7uUqN/eCrNfLj/JbAJd7FMCH07HNMEwNIPrdjXkpYxl1tS8U9\nWQ4AOPmkYClfxXJz1sTmWUqVqVEu0AC4G/xKN2bZhc7sys3n0iRKPf4PcpSC\ngCztuW6NkvWvywUbWqJAZsQbh0g4IxbZzTQXLYv+1HC/eMUFyVq2Nr3b+vrB\ne8JPy3l0cuKaLDI5tY/JYvNP1b5ucRaSfV+DnZhrsbUFWmhHTmC5AypxTgrF\nefuIvMvJPLCQaxSSLDKOf23dhuGBcBZkEuktK1W5ZDEJALrVFr1Ia3MQdpHy\nuD0ERrdDsXyUI2ucV+zfX/gDzQ9vPHyffNFKciEPWKOQlaMz2cPrnSUYQFga\ntpRw\r\n=essM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqJGcUelkBJaJ3ArNiSNDepmR0U0aNzan+ydJryNPa/gIgf5weNPLj1zUnKIme+n2Z649Rwrrz3CyuqJezqPLRI+A="}]},"maintainers":[{"email":"public@francisco.io","name":"franciscop"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sign_1.0.0-alpha.2_1570724702617_0.6161334998939048"},"_hasShrinkwrap":false},"1.0.0-alpha.3":{"name":"sign","version":"1.0.0-alpha.3","description":"A universal javascript library for signing strings to avoid tampering","main":"index.js","type":"module","scripts":{"bundle":"rollup test.js --o test.browser.js --f cjs","test":"node --experimental-modules test.js"},"keywords":["sign","cookies","node","browser","universal","verify","check"],"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/franciscop/sign.git"},"engines":{"node":">=12.0.0"},"engineStrict":true,"dependencies":{},"devDependencies":{"@babel/core":"^7.6.4","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.6.3","jest":"^24.9.0","rollup":"^1.23.1"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]],"plugins":[["@babel/plugin-syntax-dynamic-import"]],"env":{"test":{"plugins":["dynamic-import-node"]}}},"gitHead":"ef7e2da97597625d507d3c498b39090f8974ec7f","bugs":{"url":"https://github.com/franciscop/sign/issues"},"homepage":"https://github.com/franciscop/sign#readme","_id":"sign@1.0.0-alpha.3","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-HRvG8zA4UFbwGj2fLynTCvuyL9iWGm9+gdNMq91VSXIC8VGCVCOid5vXq4l5wCHNVZM0L1VSM0Kv86j/KK2YBg==","shasum":"ff3808cc082a4d254550b5cbbe3db0099faa28d2","tarball":"https://registry.npmjs.org/sign/-/sign-1.0.0-alpha.3.tgz","fileCount":4,"unpackedSize":6269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdn1yjCRA9TVsSAnZWagAA3NgP/i1fSGXgDLSDI2qTU4QS\nbxKiRT/E15tcYtsSN4kOs/HIHgZpVyvLRwCvDbHjGIWN7nXCuR4HFtTjzVrT\nNxiidBM6nWFORYaHkzNPTZlr+FYmv8/gOMQuQkViGsX+glamLBO7zYoLt736\nem0LL8KFx8P6cd5zZnmCwLwcMdzrFvD3v3NzUK/ujAvF4AXnxg+PXn2/yuUN\nLU8aXpU5+OIuuuz2zaA9k5MhLO8PvcsFZR4quykTXJgynqxbSq+JuKGtElX0\nnzcPdtOCKAmGeI02SU80i6na9nQ7KmkWGo4zVBRKU6pGrYAeZOxHsyuFyjg4\n/0fDfCAr0JqE0NY3DTGQ9/0nf1AC53fq6bJcTyrNxG9bEwafx6I88MlNFMvf\nbOnOwbMxYpbfh+3E6kkd/EjDCeu37vPN07pVc+HI4AHUfw+jmzFYNwc+mvIJ\nt1dIagLXKrR/3xnh4JS9/8g6AE/L4LghOBySv+5k/s0rbA6TGE9a7HF7BCWB\n+kyBNiXL6iRrSv3ePuyvs0Fw9ZsmrxB78mZpNcF5a+6S8m6qbsuEaICK48cS\nnEqG1A9n5EZW3VctkoDwrLvemNbphhoW8Yxeh9MESj6TDNI8Zty7d981/OoM\nEdqEXeOLMpbSQAXteKF7St0fOFIp4RPJzqf5X4ODaan0k9w5ejCZhkbrfdbu\nfr0j\r\n=MqFC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG0kAvC/bIvWvJ1P5ISvRFRrp3NC7NEc/GB7DRCOKcFTAiEAmIKyvHp/a2mhQc9XWOXOSsCN1Ke772zllRbyZxUZz0o="}]},"maintainers":[{"email":"public@francisco.io","name":"franciscop"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sign_1.0.0-alpha.3_1570725027373_0.11022153790274158"},"_hasShrinkwrap":false},"1.0.0":{"name":"sign","version":"1.0.0","description":"A universal javascript library for signing strings to avoid tampering","main":"index.js","type":"module","scripts":{"build":"rollup test.js --o test.browser.js --f cjs","test":"node --experimental-modules test.js"},"keywords":["sign","cookies","node","browser","universal","verify","check"],"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/franciscop/sign.git"},"engines":{"node":">=12.0.0"},"engineStrict":true,"dependencies":{},"devDependencies":{"@babel/core":"^7.6.4","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.6.3","jest":"^24.9.0","rollup":"^1.23.1"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]],"plugins":[["@babel/plugin-syntax-dynamic-import"]],"env":{"test":{"plugins":["dynamic-import-node"]}}},"gitHead":"8911269bcb96c5d2aa55fe0c61a575cad4f5fbf8","bugs":{"url":"https://github.com/franciscop/sign/issues"},"homepage":"https://github.com/franciscop/sign#readme","_id":"sign@1.0.0","_nodeVersion":"12.2.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-fsTWGb1PYbqVAysyzX15wndzzGpd0kwAHjqNuv6tLNNhHXQ69exMkJTv3hE0x/iugy3gjtDG3/cTsAvuxtVfOQ==","shasum":"2a2a2c2a7624908c5a5e132373170e3f730c8970","tarball":"https://registry.npmjs.org/sign/-/sign-1.0.0.tgz","fileCount":4,"unpackedSize":6244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqrc6CRA9TVsSAnZWagAA8PcP/05OI2H34ZNu3mkriW7e\nCQ0oUr78qufA42RGlXTPNV0y4Vt92BC2o1ZLMWYCa+Ni4ocnFv7QSheEB9/L\nDJokaGdryA5CaWPjpkMocvR08EZoW1sKkYQTb1RmCXsOyAfPaqoppjl66l3o\nWSgrTaJlF2I3dD0IDgwFPvdj+JIQkT6M9wvsNiXRD287PCJJZPhu1owFpeVm\nfuJ2o33bTLee2xLxQIXuH4E0UmgNZX+bGZKTtedCu/NCHTS+HNzQEDDYshGe\nFxI4ht0nR5+kVtUGTfueG+/Z8FWdyku3CH+iFdRfrU8E4anLTZUBQw7QJbVM\n/7Axgi8teOFRHDB78CRBcHxvRTB4nz/OTHizbHUE0dOPYGtww3g67sj07bGR\ndkIUIl0n5iVXbOASll+oUfu/eoeVfWxJiZB4tCsGJckEdGOqxVJPbD2sCSUr\nIrTRuM7P9348jO7nBXUGkKz18CebPlF8EPfSn67DvM8waZGSaAK/F4H1Hw/y\nWXJlZaEwCJzGfXxHsTs5crJz9NS8oyrUidw4xRJUlPz8jz6IgI09TNryuu5I\nrhOWqtaCYsyg3PxEqC87+DakO+Nz/Egp6szkO1zSf7gvPeXUlcLjO4FaKCUt\nH9K0INdw1o/jCk/Sbk7aQzMmAZ0H9CRSSVODLCv++jVsM3lVejNqpFGqEW4d\nTPST\r\n=tU7G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3D5wRSinBYhZVutb2X/OvgL4Os5lwlLJymN+CVAULqgIhAOCLW3kQc69lhA2yXqQrjFJRzE+rvUaj/Ue1SGc1ocxL"}]},"maintainers":[{"email":"public@francisco.io","name":"franciscop"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sign_1.0.0_1571469113802_0.1463453578475311"},"_hasShrinkwrap":false},"1.0.1":{"name":"sign","version":"1.0.1","description":"A universal javascript library for signing strings to avoid tampering","homepage":"https://github.com/franciscop/sign#readme","repository":{"type":"git","url":"git+https://github.com/franciscop/sign.git"},"bugs":{"url":"https://github.com/franciscop/sign/issues"},"funding":"https://www.paypal.me/franciscopresencia/19","author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","scripts":{"build":"rollup test.js --o test.browser.js --f cjs","test":"node --experimental-modules test.js"},"keywords":["sign","cookies","node","browser","universal","verify","check"],"main":"index.js","type":"module","engines":{"node":">=12.0.0"},"engineStrict":true,"dependencies":{},"devDependencies":{"@babel/core":"^7.6.4","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.6.3","jest":"^24.9.0","rollup":"^1.23.1"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]],"plugins":[["@babel/plugin-syntax-dynamic-import"]],"env":{"test":{"plugins":["dynamic-import-node"]}}},"gitHead":"272effe3d61de0c135eaa3c8cf8b05e5caa1e7e2","_id":"sign@1.0.1","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-63WzKvyX4hlrtGYh2w9/tmfwnVhP208EGwa/NpSS8VqmJ1R0x1sodsm7gYDLyLeDN5Sr+VNorsCMwDPYOMtwOw==","shasum":"7c3e225c01898166b24b43a5a972c2426b3e9fff","tarball":"https://registry.npmjs.org/sign/-/sign-1.0.1.tgz","fileCount":4,"unpackedSize":6382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHDMCCRA9TVsSAnZWagAAuSYQAITZWNN1VfBDgIuJ0O4c\nN56ltcaBAHRLhV64+hSyxpPvyqmGm0A+gOqoRFZVXzd/4FADJ/rqIY+WylXf\nK6d4GhhSNxPP/5KZNM7N/dXGmKpzVif0j+B8nDJV7i6QiAAQO6/q5Nox+7Wt\nj6RloHwBeDfQYokdpDqUT4jxG+tWxzrkMGofCdmIDg4p4ldtgZDWWczR0/aa\np9QeDKPE1C/rPIThu8WbS1TJGGbhkGj2y4JggnQOK8eVdvkIVzZhBFU5aQe/\nPhVnK3p0fIB89HXGPCWGHOCfRj/mszBnoR5LveLFny2IR6Ju6zjBtwX+F+OC\nrTJ21Rq4jGeHPfZUqKNxeHl0La98Yv0H8f1xLmyfxk3M31wwpvMxqggvnxS5\nGEa1zitzGSdtbqllvHVeWvT16lo1aZDfPY7IpnpF5IziLJCcdkR/1Yz7j/qs\ndRw4wZkxCKFRS0np6QfvUhyS0ZUZHkO+9KBXr8LpYcZG2oPiSLhHocIUEFFH\n6dlYzN0dzdQpJue55zddrFsXNTt7qy0FcDSXXb8aU81nThoPokh0f7AUkYb4\n5HJW1W9gwQlx2RtOgcyPrxvWXjtRVwX3zkQWBY/HFn17F/X93LF4oFbtWpMW\nlxhuRE1Ayo9d8v9u8+eypYzG6erTThN+iqpNw5WWvM46Ef8ONWaH/7GfgU4B\nPC7z\r\n=343E\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAv3cgzd0h6DYG/yIDhC+VBc9GpJA5kMlXncgp23JGYfAiA4qYrbJyaDZHhIrAAr3I4LtHm6hym8zJrmeNbFkRA6VQ=="}]},"maintainers":[{"email":"public@francisco.io","name":"franciscop"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sign_1.0.1_1578906370377_0.8354013726614744"},"_hasShrinkwrap":false},"1.0.2":{"name":"sign","version":"1.0.2","description":"A universal javascript library for signing strings to avoid tampering","homepage":"https://github.com/franciscop/sign#readme","repository":{"type":"git","url":"git+https://github.com/franciscop/sign.git"},"bugs":{"url":"https://github.com/franciscop/sign/issues"},"funding":"https://www.paypal.me/franciscopresencia/19","author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","scripts":{"build":"rollup test.js --o test.browser.js --f cjs","test":"node --experimental-modules test.js"},"keywords":["sign","cookies","node","browser","universal","verify","check"],"main":"index.js","type":"module","engines":{"node":">=12.0.0"},"engineStrict":true,"dependencies":{},"devDependencies":{"@babel/core":"^7.6.4","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.6.3","jest":"^24.9.0","rollup":"^1.23.1"},"babel":{"presets":[["@babel/preset-env",{"targets":{"node":"current"}}]],"plugins":[["@babel/plugin-syntax-dynamic-import"]],"env":{"test":{"plugins":["dynamic-import-node"]}}},"gitHead":"90ddf11bbf42bd111e1e64f993a92a6642aeb0c3","_id":"sign@1.0.2","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-3uqXdx/HXWdvP47bJu+0yaMG+Lg/bTJ6DWR7u3Iod8Qa/2F25Gv58BWRaUbNf6BiEGbbTKd0x7UsmIoAwYz1Fg==","shasum":"651eee65c7677015badad23d502c542cfcbc96bf","tarball":"https://registry.npmjs.org/sign/-/sign-1.0.2.tgz","fileCount":4,"unpackedSize":6340,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeU8zeCRA9TVsSAnZWagAAm2wP/0LuR+2qyHLC9L2CeM8+\nV895quLDMjMAmlGqlzQuTvTlqcJtNRVGQQACABAst/QDPx4vzr/tv87L+lmc\nnCCez3MBxL/u70oyg0clG2Mgn1GfBt8A7Xt7yqUc0spobMC5Ub6AhN8CEjxC\nxi3mq/MpFnZknbk1RplgaINCMw0b2tA1FXExbLWxJxj+H3KfJhi9rWelSJeh\n5xvSG4wD3AkEFb/1ICs+BDR5MGi+0X2zaOKPQAZaRhEt2lsBAxzeND2hO6pB\nf63mHKNGnr/sDwHfrm8OC+0pTR3m0xUv78FJfGjPwwzga//XBlZDNmKuexcN\nW45N0UFtb3FIucfMIxfsUl2o4oQcwpoFeeXxFWDUuBm1fVukgo83FFeRmz1W\n+WN9Ptbm2yVy6YhwVR+agIM+EyC8ht8DLXQo0XESPzogutcxwm2b0vG6JbRb\n/FJwaaea/QjBJkhRXS0Yi3hy3I5sjIUS8TqxiRHRECfpGly8sAS54M6AgARZ\nQkB6NiSSblnTQCFnVzAoecJ1tjuVHfFdbVJ5qgVFATVL1l3COoKuVDM5/rAy\nD2/4o4y0gN70c/VV+ty/F7HLyiZYqTpMmk3XS2/pHOmP1NzmR5DLj654SPh0\n79l1ZcJZr6OscGdc1F4PiLB+798sHgX7Ctf9zdgHv4Tj4CufnWli/zg0n0yC\n4K+a\r\n=l7rz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB1scUGPz0IhS4efKSF469P7L3VR8xoVd3CmtGoe+LhGAiAiXOiENXUqW1OHzexXoT0/UJ59epNojZzpf06KmmLtCQ=="}]},"maintainers":[{"email":"public@francisco.io","name":"franciscop"}],"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sign_1.0.2_1582550237890_0.7658566161737161"},"_hasShrinkwrap":false}},"maintainers":[{"email":"public@francisco.io","name":"franciscop"}],"time":{"modified":"2022-06-26T19:19:05.688Z","created":"2011-08-24T07:49:55.014Z","0.0.0":"2011-08-24T07:49:58.058Z","1.0.0-alpha.1":"2019-10-10T14:49:15.967Z","1.0.0-alpha.2":"2019-10-10T16:25:02.749Z","1.0.0-alpha.3":"2019-10-10T16:30:27.548Z","1.0.0":"2019-10-19T07:11:53.989Z","1.0.1":"2020-01-13T09:06:10.548Z","1.0.2":"2020-02-24T13:17:18.100Z"},"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"readme":"# sign\n\nA universal javascript library for signing strings to avoid tampering:\n\n```js\nimport { sign, check } from 'sign';\n\n// Keep the secret long and safe! e.g., use `process.env.SECRET` or similar\nconst signed = await sign('Francisco', '123456');\n\nconsole.log(signed);\n// Francisco.pACXHmIctuGrwvidl7vVNyh5uvZMEHmp+D3NQB3uXJ4\n\n// Only matches if the secret is the same used to sign\nconsole.log(await check(signed, '123456'));    // true\nconsole.log(await check(signed, 'badsecret')); // false\n\n// Prevent tampering on the client side since they don't know the secret\nconst fakeCookie = await sign('Francisco', 'badsecret');\nconsole.log(await check(fakeCookie, '123456')); // false\n\n```\n\nIt works on Node.js, the browser and Cloudflare Workers.\n\nIt is used to make sure that only those with the `secret` have modified the message. This is ideal to sign session cookies, since those are created and modified only by the server, but can be used for many more things.\n\nNote that this does *no* encrypt the messages, just checks whether the message has been modified by someone who knows the secret. The message remains in plain text.\n\n## API\n\n### sign(message, secret)\n\nBoth the message and secret must be plain strings. Make sure that the secret has high entropy and remains in a safe location, e.g.:\n\n```js\nconst signed = sign('Francisco', process.env.SECRET);\n```\n\nThe result looks like `{MESSAGE}.{SIGNATURE}`.\n\n\n### check(signed, secret)\n\nCheck whether the message has been signed with this secret. The signed message looks like `{MESSAGE}#{SIGNATURE}`:\n\n```js\n// Signed with '123456'\nconst signed = \"Francisco.pACXHmIctuGrwvidl7vVNyh5uvZMEHmp+D3NQB3uXJ4\";\n\nexpect(await check(signed, '123456')).toBe(true);\nexpect(await check(signed, 'fake')).toBe(false);\n```\n","readmeFilename":"readme.md","keywords":["sign","cookies","node","browser","universal","verify","check"],"license":"MIT","homepage":"https://github.com/franciscop/sign#readme","repository":{"type":"git","url":"git+https://github.com/franciscop/sign.git"},"bugs":{"url":"https://github.com/franciscop/sign/issues"}}