{"_id":"fernet","_rev":"33-50926b7da2e5d592f494ddecb732de75","name":"fernet","dist-tags":{"latest":"0.3.3"},"versions":{"0.0.1":{"name":"fernet","version":"0.0.1","keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"BSD","_id":"fernet@0.0.1","maintainers":[{"name":"csquared","email":"christopher.continanza@gmail.com"}],"dist":{"shasum":"11b83d09b565a29a022a8a4133a94d7f0c2a474e","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.0.1.tgz","integrity":"sha512-8pdrLdWZZl5Gv2xhwAyX8LnRu4tvMTL4FQ+h9Nn3+x7fi2rSepyFV+h+aaU8Kn6vXhddddnAKGbtutKf3hEmkw==","signatures":[{"sig":"MEQCIAx7RJ9Vbks4K+JtOk1Rag9enB0aTSE1J41m2DV6E7qLAiA85VMcRQHtus2RtcpnYBlhlmKeM5GbGCXunIPGP/zVEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fernet.js","_from":".","scripts":{"test":"mocha","pretest":"browserify -s fernet fernet.js > fernetBrowser.js","posttest":"open test.html"},"_npmUser":{"name":"csquared","email":"christopher.continanza@gmail.com"},"_npmVersion":"1.3.11","description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","directories":{},"dependencies":{"crypto-js":"~3.1.2-1","urlsafe-base64":"0.0.2"},"devDependencies":{"chai":"*","mocha":"*","browserify":"~2.29.1","buffer-browserify":"~0.2.2"}},"0.0.2":{"name":"fernet","version":"0.0.2","keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"BSD","_id":"fernet@0.0.2","maintainers":[{"name":"csquared","email":"christopher.continanza@gmail.com"}],"dist":{"shasum":"ebad8ed497debc42c718e751638b5b9cc4ab5229","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.0.2.tgz","integrity":"sha512-jTZbId81sfk+yc5//JwbTPq8Ea7yCqjLf2F/Ayip0XDzM3uK2a9ihRX2UOAWeqeDX2nQ3iUQ77DLGf+kk5O2lg==","signatures":[{"sig":"MEUCICjMmJY1kkDT47VsgqWt0yJ1XUPlXMuhbXr9z/lIHOpPAiEA7leNOuslzlcFp6Ak9EB2rhcUFDgky5mhO2kE0fb7DMM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fernet.js","_from":".","scripts":{"test":"mocha","pretest":"browserify -s fernet fernet.js > fernetBrowser.js","posttest":"open test.html"},"_npmUser":{"name":"csquared","email":"christopher.continanza@gmail.com"},"_npmVersion":"1.3.11","description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","directories":{},"dependencies":{"crypto-js":"~3.1.2-1","urlsafe-base64":"0.0.2"},"devDependencies":{"chai":"*","mocha":"*","browserify":"~2.29.1","buffer-browserify":"~0.2.2"}},"0.1.0":{"name":"fernet","version":"0.1.0","keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"BSD","_id":"fernet@0.1.0","maintainers":[{"name":"csquared","email":"christopher.continanza@gmail.com"}],"dist":{"shasum":"ff9dc9477a9135a723ebf15f0b028ed4362c2710","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.1.0.tgz","integrity":"sha512-+fhVCqGQGq8saPAhI/b7RMvP1ahdtXdTxwQLsmCfEz+iEI1qPHo+HrCUhVhpTWfJpoEJHWfPnUWMrAhTAolA5w==","signatures":[{"sig":"MEQCIDpkUIdlle8yoiFqzOk62Bo/wutdANPVfxrHQb8JEsoXAiBi7Qvo0BHML7ZBAB8IVSJtXIWwZVqS8cIJ/m9pziLUqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fernet.js","_from":".","scripts":{"test":"mocha","pretest":"browserify -s fernet fernet.js > fernetBrowser.js","posttest":"open test.html"},"_npmUser":{"name":"csquared","email":"christopher.continanza@gmail.com"},"_npmVersion":"1.4.3","description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","directories":{},"dependencies":{"crypto-js":"~3.1.2-1","urlsafe-base64":"0.0.2"},"devDependencies":{"chai":"*","mocha":"*","browserify":"~2.29.1","buffer-browserify":"~0.2.2"}},"0.1.1":{"name":"fernet","version":"0.1.1","keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"BSD","_id":"fernet@0.1.1","maintainers":[{"name":"csquared","email":"christopher.continanza@gmail.com"}],"dist":{"shasum":"cf69a71eabcb55c64712c4ec15df2e0116b205f3","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.1.1.tgz","integrity":"sha512-oO7N54amyTGtJrfKseTUwrn+E/MhRcBtM46LwDBaTr5lW0n1hGpkw9I4WXu4DTSgBHgVUu2UPKzpealdkUHNwg==","signatures":[{"sig":"MEQCIB8jlmajX6qVnPh4zjlOhIAzo7toORR2sUuz2tdUvckpAiBiU7Fd+6WBwUOr/1f2/QVqILpkNI77XKz5ZfJKD7VvuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fernet.js","_from":".","scripts":{"test":"mocha","pretest":"browserify -s fernet fernet.js > fernetBrowser.js","posttest":"open test.html"},"_npmUser":{"name":"csquared","email":"christopher.continanza@gmail.com"},"_npmVersion":"1.4.3","description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","directories":{},"dependencies":{"crypto-js":"~3.1.2-1","urlsafe-base64":"0.0.2"},"devDependencies":{"chai":"*","mocha":"*","browserify":"~2.29.1","buffer-browserify":"~0.2.2"}},"0.2.0":{"name":"fernet","version":"0.2.0","keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"BSD","_id":"fernet@0.2.0","maintainers":[{"name":"csquared","email":"christopher.continanza@gmail.com"}],"dist":{"shasum":"a953b21220c290f53af3fe1c73ca25910a1ecf5d","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.2.0.tgz","integrity":"sha512-1f24ZfjDZXTfudq0um0SJkOa+D9JqDnvyYbHnQu7nDe3ewTvlDquz54EH2gx73AF75/UkYQtqxgDIXYCPo3t7A==","signatures":[{"sig":"MEYCIQCrOEdAHdHZDFX/ZiWz/d4YPdoWej6SPt7e9EXtTNryVwIhAMYrB9XskMXChALnAFKCzwfB0GsYF4Aan0sG5GIQt0AD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fernet.js","_from":".","scripts":{"test":"mocha","pretest":"browserify -s fernet fernet.js > fernetBrowser.js","posttest":"open test.html"},"_npmUser":{"name":"csquared","email":"christopher.continanza@gmail.com"},"_npmVersion":"1.4.3","description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","directories":{},"dependencies":{"crypto-js":"~3.1.2-1","urlsafe-base64":"0.0.2"},"devDependencies":{"chai":"*","mocha":"*","browserify":"~2.29.1","buffer-browserify":"~0.2.2"}},"0.2.1":{"name":"fernet","version":"0.2.1","keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"BSD","_id":"fernet@0.2.1","maintainers":[{"name":"csquared","email":"christopher.continanza@gmail.com"}],"dist":{"shasum":"8bea4eb9bd3ff4e46e806538b86b697aae53ce87","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.2.1.tgz","integrity":"sha512-dgCCBoaNSCM86tl5hnAuqXOt7rIbukqavCLbXTUosVhmjN43cETsRx/9/qLaOEiUcibV6SwaDvnXP8hzrbtm0A==","signatures":[{"sig":"MEYCIQDRSd/XoLRkDZ358Te7DWic5sreacGFxiwoSHgMS6iCHgIhAPIsw/b+eyJ+FZk/qGan8nBJFXrvvyTdfUzhIYoYLVgg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fernet.js","_from":".","scripts":{"test":"mocha","pretest":"browserify -s fernet fernet.js > fernetBrowser.js","posttest":"open test.html"},"_npmUser":{"name":"csquared","email":"christopher.continanza@gmail.com"},"_npmVersion":"1.4.3","description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","directories":{},"dependencies":{"crypto-js":"~3.1.2-1","urlsafe-base64":"0.0.2"},"devDependencies":{"chai":"*","mocha":"*","browserify":"~2.29.1","buffer-browserify":"~0.2.2"}},"0.2.2":{"name":"fernet","version":"0.2.2","keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"BSD","_id":"fernet@0.2.2","maintainers":[{"name":"csquared","email":"christopher.continanza@gmail.com"}],"dist":{"shasum":"64aef6e7af0b191dd753090fdf7b632b7857ff28","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.2.2.tgz","integrity":"sha512-2w3sQclpLSvbCxYV9+ArIGSj45dJnkQsnThFhf5NOc9fA4FBevYJ8nFdObG5Q+rhm2q1SjpttDA4z/6yjnHfLw==","signatures":[{"sig":"MEUCIFOC3sPb9u++eEum8K1KyaQKsiIfqh7XEUxb0wIojVGLAiEA/qqnABcD6hXr24lnCngyGTtiiB/iAd7TOwcmBcDNh5A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fernet.js","_from":".","_shasum":"64aef6e7af0b191dd753090fdf7b632b7857ff28","scripts":{"test":"mocha","pretest":"browserify -s fernet fernet.js > fernetBrowser.js","posttest":"open test.html"},"_npmUser":{"name":"csquared","email":"christopher.continanza@gmail.com"},"_npmVersion":"1.4.9","description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","directories":{},"dependencies":{"crypto-js":"~3.1.2-1","urlsafe-base64":"0.0.2"},"devDependencies":{"chai":"*","mocha":"*","browserify":"~2.29.1","buffer-browserify":"~0.2.2"}},"0.3.0":{"name":"fernet","version":"0.3.0","keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"MIT","_id":"fernet@0.3.0","maintainers":[{"name":"csquared","email":"christopher.continanza@gmail.com"}],"dist":{"shasum":"c6826725499cdc38604c6dd28bb879b1e6d5554c","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.3.0.tgz","integrity":"sha512-VDQovm7fh0g4iCVOK9QhwbXtRHyv9RTVj8Tk22nSvIs3a37CMjrl3eV7CAe3QTTpKbrbpaLgzLD+FPxKt5dtCQ==","signatures":[{"sig":"MEUCIQCkAwJWzQSP1+rTTgqh8V2ql6+DmfrKKaiF+VEXgYfWLAIgUcZ9to+3qQRA6jZezkFtfgLuMyYK3p/2mJdLwENfIRQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fernet.js","_from":".","scripts":{"test":"mocha","pretest":"browserify -s fernet fernet.js > fernetBrowser.js","posttest":"open test.html"},"_npmUser":{"name":"csquared","email":"christopher.continanza@gmail.com"},"_npmVersion":"1.4.3","description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","directories":{},"dependencies":{"crypto-js":"~3.1.2-1","urlsafe-base64":"0.0.2"},"devDependencies":{"chai":"*","mocha":"*","sinon":"*","browserify":"~2.29.1","sinon-chai":"*","buffer-browserify":"~0.2.2"}},"0.3.1":{"name":"fernet","version":"0.3.1","keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"MIT","_id":"fernet@0.3.1","maintainers":[{"name":"csquared","email":"christopher.continanza@gmail.com"}],"dist":{"shasum":"970ea51dddc34a77b8805961e05758826a9eca29","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.3.1.tgz","integrity":"sha512-7KnsrcpLkUsKy6aH6Ow68hrMWhvE25rTDd3370+xVGkpqZta05cUCmdJQPyLBKTsNdPUB5NumJZBgJIJ60aQqw==","signatures":[{"sig":"MEQCIEq4SrLq9jaPUPglU5p1bbjMg2t/R5nqFW7jc4ekVxr1AiBhtZITjDVAKksP7LAp5uasfakm/DahRILdCfxm+39jKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"fernet.js","gitHead":"8d52e89e7a39da9bb69c4e9eac99d8a77f83e40d","scripts":{"test":"mocha","pretest":"browserify -s fernet fernet.js > fernetBrowser.js","posttest":"open test.html"},"_npmUser":{"name":"csquared","email":"christopher.continanza@gmail.com"},"_npmVersion":"5.0.3","description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","directories":{},"_nodeVersion":"8.1.2","dependencies":{"crypto-js":"~3.1.2-1","urlsafe-base64":"1.0.0"},"devDependencies":{"chai":"*","mocha":"*","sinon":"*","browserify":"~2.29.1","sinon-chai":"*","buffer-browserify":"~0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/fernet-0.3.1.tgz_1506611404981_0.593153182649985","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"fernet","version":"0.4.0","keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"MIT","_id":"fernet@0.4.0","maintainers":[{"name":"csquared","email":"christopher.continanza@gmail.com"}],"dist":{"shasum":"95d10a3660bf1ccfb4964687508ec2e2ba5eda25","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.4.0.tgz","fileCount":12,"integrity":"sha512-FJgmKoMeG4eoM+bEbMyTzPx9US4W+sw4D0i6jSWSKHFYlFZv92UIWi6a/w6MEf2JNSO+Mth/T+u+d/ye1zwN9A==","signatures":[{"sig":"MEUCIQDo259a2BEiWsr8NTlmGvJo52u0Qp3Mhgsbyb04uSZ9igIgE4ubjk6fVwok5VG/bAUlP7XFZEAkbjvpeW/aPGGNTjM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2q7/CRA9TVsSAnZWagAAMhYP/1tRnyx7Bw5/ANB8sWaN\nuTH4PXqKFTOu+Mg6+/psw/nwxUqAfzSMX6AFlK58G+UcjDT6rhNi78HLad/6\ntcgBQ/VRvkFierdz7MMmHF1w/02aVipm/Hm+RfdsR3IixD/0FGVjMHAKGZKa\nLEnJFECZcGZFDV2tes1Q30htjw/0M0XWgUDIDernQmqwoi1mTFXsp7fz0lro\nPmjHietA31bau6XFAZ048b2kK0UmCBVKnSJ0n+kMiq1titX6AJY+YCVhGX8N\nDlbR0hSWoZwJOP5kSuZSuiKOCCr96OwgV4wh9Zm95fto3PNIaOFV2ZZqxap4\nnUPdnHBvuChoB41TAXAenc8baKYA8eZsYlREWbaIoIy1RMXz0Tzc9nsOrLBB\nqvlMmB+di3QHCpElLKC9RpZIphK1TOxd75DoIspST5pjm/TLyoztSpqD7EXh\nhHCg0OWuTkDU3m5Tr4+eRZkMUziM95Eg7DlD8OQ1Br9BOu9Unsl0lotiLJYY\ntQQjJEMc3nBVI7a/XzWPHEKa7Xz0a2O/tzC6y31yF3dlu5wGCNJaDzOif16d\nVgz/OlabfjWPo1PBvF1FSX/oTBfgLNYjcKC4MzY0IKsfigYZOth1wMHcgIoG\nUz9Ba3VpWPhKTHzQNzhvPte/NuIjvamv3QiaGCZpeYWNcfVr4AQdpZSpkSBC\nHXTE\r\n=iJGO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"fernet.js","gitHead":"d360ee97e515c723abeb44d4e31971994021af05","scripts":{"test":"mocha test/*.js","pretest":"browserify -s fernet fernet.js > fernetBrowser.js","posttest":"open test.html"},"_npmUser":{"name":"csquared","email":"christopher.continanza@gmail.com"},"_npmVersion":"7.19.1","description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","directories":{},"_nodeVersion":"16.5.0","dependencies":{"crypto-js":"~3.1.2-1","urlsafe-base64":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"*","mocha":"^9.1.2","sinon":"*","browserify":"~2.29.1","sinon-chai":"*","buffer-browserify":"~0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/fernet_0.4.0_1632791329670_0.03730213754273071","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"fernet","version":"0.3.2","keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"MIT","_id":"fernet@0.3.2","maintainers":[{"name":"k.parnell","email":"k.parnell@gmail.com"},{"name":"csquared","email":"christopher.continanza@gmail.com"}],"dist":{"shasum":"4815e74b5438a930029b7ad13f5ba54b1f0d19e7","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.3.2.tgz","fileCount":18,"integrity":"sha512-VPwO4hF9sp8YrCeiOjMb4HTg5WV5VC7Nk2EG3pfotqW9ZHa3aNnR+oGiOZu8k0Jp4VxJi0RTJwHmloyjWs+Mzg==","signatures":[{"sig":"MEQCIGoIaUEKMkYQfJDlVUTANOkfZ17jakZcLSrtBsQ13QBgAiA3wwOfv3nrIaQ1BR4VDjsW/WoOoL7AhJBQ6vMjQD6Plg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308974},"main":"fernet.js","scripts":{"test":"mocha","pretest":"browserify -s fernet fernet.js > fernetBrowser.js"},"_npmUser":{"name":"k.parnell","email":"k.parnell@gmail.com"},"description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","directories":{},"licenseText":"Copyright (c) 2012 Harold Giménez\n\nMIT License\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","dependencies":{"crypto-js":"~4.2.0","urlsafe-base64":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"*","mocha":"*","sinon":"*","browserify":"~2.29.1","sinon-chai":"*","buffer-browserify":"~0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/fernet_0.3.2_1707337546610_0.48719715688808596","host":"s3://npm-registry-packages"}},"0.3.3":{"name":"fernet","version":"0.3.3","description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","main":"fernet.js","scripts":{"test":"mocha"},"keywords":["encryption","symmetric","key"],"author":{"name":"csquared"},"license":"MIT","dependencies":{"crypto-js":"~4.2.0","urlsafe-base64":"1.0.0"},"devDependencies":{"browserify":"^17.0.1","buffer-browserify":"~0.2.2","chai":"^4.5.0","mocha":"^10.8.2","sinon":"^18.0.1","sinon-chai":"^3.7.0"},"_id":"fernet@0.3.3","gitHead":"76936e1e70c9f8c98b18a71660f0e97260524c95","_nodeVersion":"23.9.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-DvvqouVhv3VCor83wkQbSycekYUKDRQ1IKqcInaF5n5BSKgWBVfYLbSf7RRxojwQO0DZySiz5MlM2vO4MG3SUg==","shasum":"23f31a45aa55c08152bb40ea9102e5711cb6ecf9","tarball":"https://registry.npmjs.org/fernet/-/fernet-0.3.3.tgz","fileCount":13,"unpackedSize":942107,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCVRQVrEQ43wzKyAjdzLtF57+p94p047b9TQRrt9TzQ1gIgJOUgxQW/GRFI3PvtPR+4GElBzfdHwrN1mVyvOEYB5JM="}]},"_npmUser":{"name":"csquared","email":"christopher.continanza@gmail.com"},"directories":{},"maintainers":[{"name":"k.parnell","email":"k.parnell@gmail.com"},{"name":"csquared","email":"christopher.continanza@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fernet_0.3.3_1744776727324_0.9794535079846207"},"_hasShrinkwrap":false}},"time":{"created":"2014-03-04T21:25:53.740Z","modified":"2025-04-16T04:12:07.754Z","0.0.1":"2014-03-04T21:25:55.967Z","0.0.2":"2014-03-05T17:29:55.159Z","0.1.0":"2014-06-20T03:46:47.605Z","0.1.1":"2014-06-20T03:47:18.114Z","0.2.0":"2014-06-20T04:07:12.685Z","0.2.1":"2014-06-22T21:59:47.638Z","0.2.2":"2014-10-08T20:41:57.728Z","0.3.0":"2015-01-13T03:26:06.731Z","0.3.1":"2017-09-28T15:10:05.300Z","0.4.0":"2021-09-28T01:08:49.872Z","0.3.2":"2024-02-07T20:25:46.764Z","0.3.3":"2025-04-16T04:12:07.594Z"},"author":{"name":"csquared"},"license":"MIT","keywords":["encryption","symmetric","key"],"description":"Javascript implementation of Fernet symmetric encryption https://github.com/kr/fernet-spec","maintainers":[{"name":"k.parnell","email":"k.parnell@gmail.com"},{"name":"csquared","email":"christopher.continanza@gmail.com"}],"readme":"# Fernet.js\n\n![ci status](https://github.com/csquared/fernet.js/actions/workflows/node.js.yml/badge.svg?branch=master)\n\nJavascript implementation of <a href=\"https://github.com/kr/fernet-spec\">Fernet symmetric encryption</a>.\n\nFernet is an opinionated way of using AES and HMAC authentication that makes\nshared-secret symmetric encryption simpler for communicating applications.\n\nFernet.js uses browserify to provide a library that works\nin both node and the browser.\n\nInstead of using TypedArrays I use Hex Strings and CryptoJS's `Hex.parse`\nto build up `CryptoJs.lib.WordArray` objects.\n\n## WARNING\n\n[It's generally *never* considered safe to encrypt data in the browser.](http://www.matasano.com/articles/javascript-cryptography/)\n\nHowever, you can use this library to encrypt/decrypt data server-side and decrypt data on a client.\n\nThat being said, the only randomness used by this library without your control is a call to `crypto.randomBytes` to generate IVs.\nThis function defaults to OpenSSL server-side and [browserify's random number generator implementation](https://github.com/crypto-browserify/crypto-browserify/blob/master/index.js)\nclient-side.  The browserify implementation only uses real browser crypto or throws an error. (IE: no calls to `Math.random()`)\n\nIf you're planning on generating the secrets in the browser do yourself a favor and get an audit.\n\n## Use\n\n### node.js\n```javascript\nvar fernet = require('./fernet');\n```\n\n### browser\n```html\n<script src=\"fernetBrowser.js\"></script>\n```\n\n## Fernet\n\n### fernet.setSecret(string)\n\nSets the `secret` at the top level for all further Tokens made\nfrom this instance of Fernet.\n\n### fernet.ttl = seconds\n\nSets the `ttl` at the top level for all further Tokens made\nfrom this instance of Fernet.\n\n## Secret\n\n### Generating a secret\n\n    Generating appropriate secrets is beyond the scope of `Fernet`, but you should\n    generate it using `/dev/random` in a *nix. To generate a base64-encoded 256 bit\n    (32 byte) random sequence, try:\n\n    dd if=/dev/urandom bs=32 count=1 2>/dev/null | openssl base64\n\n### new fernet.Secret(string)\n\n```javascript\n  var secret = new fernet.Secret(\"cw_0x689RpI-jtRR7oE8h_eQsKImvJapLeSbXpwF4e4=\");\n  /*\n    {\n      signingKeyHex: '730ff4c7af3d46923e8ed451ee813c87',\n      signingKey: [CryptoJS.lib.WordArray],\n      encryptionKeyHex: 'f790b0a226bc96a92de49b5e9c05e1ee',\n      encryptionKey: [CryptoJS.lib.WordArray]\n    }\n  */\n```\n\n## Token\n\n## new fernet.Token(options)\n\nOptions:\n\n- `secret`: a `fernet.Secret` object\n- `token`: a Fernet-encoded String\n- `ttl`: seconds of ttl\n\nFor testing:\n\n- `time`: Date object\n- `iv`: Array of Integers\n\n### Token.prototype.encode\n```javascript\n//Have to include time and iv to make it deterministic.\n//Normally time would default to (new Date()) and iv to something random.\nvar token = new fernet.Token({\n  secret: secret,\n  time: Date.parse(1),\n  iv: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]\n})\ntoken.encode(\"Message\")\n/*\n'gAAAAABSO_yhAAECAwQFBgcICQoLDA0OD1PGoFV6wgWZG6AOBfQqevwJT2qKtCZ0EjKy1_TvyxTseR_3ebIF6Ph-xa2QT_tEvg=='\n*/\n```\n\n### Token.prototype.decode\nInclude tt\n```javascript\nvar token = new fernet.Token({\n  secret: secret,\n  token: 'gAAAAABSO_yhAAECAwQFBgcICQoLDA0OD1PGoFV6wgWZG6AOBfQqevwJT2qKtCZ0EjKy1_TvyxTseR_3ebIF6Ph-xa2QT_tEvg==',\n  ttl: 0\n})\ntoken.decode();\n\n/*\n\"Message\"\n*/\n```\n\n## Test\n\n    > npm test\n\nCompiles new fernetBrowser.js via `browserify`,\ntests node lib with `mocha`, then opens test.html via `open`.\n","readmeFilename":"README.md","users":{"grumpycat":true,"hugojosefson":true}}