Files: 6982758b9d958f06b1b22dec3bc4dd2017f90441 / util.js
634 bytesRaw
1 | var chloride = require('chloride') |
2 | |
3 | function box (data, key) { |
4 | if(!data) return |
5 | var b = new Buffer(JSON.stringify(data)) |
6 | return chloride.crypto_secretbox_easy(b, key.slice(0, 24), key).toString('base64') |
7 | } |
8 | |
9 | function unbox (ctxt, key) { |
10 | var b = new Buffer(ctxt, 'base64') |
11 | var ptxt = chloride.crypto_secretbox_open_easy(b, key.slice(0, 24), key) |
12 | if(!ptxt) return |
13 | try { |
14 | return JSON.parse(ptxt) |
15 | } catch(err) { |
16 | console.error(err) |
17 | } |
18 | } |
19 | |
20 | |
21 | function hash(s) { |
22 | return chloride.crypto_hash_sha256( |
23 | 'string' == typeof s ? new Buffer(s, 'utf8') : s |
24 | ) |
25 | } |
26 | |
27 | exports.hash = hash |
28 | exports.box = box |
29 | exports.unbox = unbox |
30 |
Built with git-ssb-web