-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcryption.js
More file actions
66 lines (60 loc) · 2.07 KB
/
Copy pathcryption.js
File metadata and controls
66 lines (60 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
var NodeRSA = require('node-rsa');
//var fs = require('fs');
var cryp = require('./base')
var keyToStringInObject = function (key, password) {
var pub = key.exportKey('public');
var pri = key.exportKey();
pub = pub.toString();
pri = cryp.easyEn(pri.toString(), password);
return { pub: pub, pri: pri };
}
/*
var keyGeneratorToFiles_ = function (password, publicPath, privatePath) {
var key = new NodeRSA({ b: 1024 });
var o = keyToStringInObject(key, password);
var pub = o.pub;
var pri = o.pri;
fs.writeFileSync(publicPath, pub);
fs.writeFileSync(privatePath, pri);
};
*/
var loadPrivateKeyFromString = function (data, password) {
return new NodeRSA(cryp.easyDe(data, password));
};
var loadPublicKeyFromString = function (data) {
return new NodeRSA(data.toString('utf8'));
};
/*
var loadPrivateKeyFromFile_ = function (filePath, password) {
var data = fs.readFileSync(filePath, 'utf8');
return loadPrivateKeyFromString(data, password);
};
var loadPublicKeyFromFile_ = function (filePath) {
var data = fs.readFileSync(filePath, 'utf8');
return loadPublicKeyFromString(data);
};
*/
//keyGeneratorToFiles_("123");
//var pkey = loadPrivateKeyFromFile_('./private.txt', '123');
//var key = loadPublicKeyFromFile_('./public.txt');
/*
var moment = require('moment');
console.log(moment().format());
var tt = key.encrypt('test123', 'base64');
console.log(tt);
console.log(moment().format());
console.log(pkey.decrypt(tt, 'utf8'));
console.log(moment().format());
*/
module.exports = {
keyToStringInObject: keyToStringInObject,
//keyGeneratorToFiles_: keyGeneratorToFiles_,
//loadPrivateKeyFromFile_: loadPrivateKeyFromFile_,
//loadPublicKeyFromFile_: loadPublicKeyFromFile_,
loadPublicKeyFromString: loadPublicKeyFromString,
loadPrivateKeyFromString: loadPrivateKeyFromString,
encryptByPublicKey:
function (key, data) { return key.encrypt(data, 'base64'); },
decryptByPrivateKey:
function (key, data) { return key.decrypt(data, 'utf8'); }
}