Skip to content

Commit 31109c7

Browse files
committed
add example
1 parent 64c6898 commit 31109c7

File tree

1 file changed

+28
-13
lines changed

1 file changed

+28
-13
lines changed

README.md

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,20 @@ Based on jsbn library from Tom Wu http://www-cs-students.stanford.edu/~tjw/jsbn/
88
* Generating keys
99
* Supports long messages for encrypt/decrypt
1010
* Signing and verifying
11+
12+
13+
## Example
14+
15+
```javascript
16+
var NodeRSA = require('node-rsa');
17+
var key = new NodeRSA({b: 512});
18+
19+
var text = 'Hello RSA!';
20+
var encrypted = key.encrypt(text, 'base64');
21+
console.log('encrypted: ', encrypted);
22+
var decrypted = key.decrypt(encrypted, 'utf8');
23+
console.log('decrypted: ', decrypted);
24+
```
1125

1226

1327
## Installing
@@ -29,7 +43,7 @@ This library developed and tested primary for Node.js, but it still can work in
2943
## Usage
3044

3145
### Create instance
32-
```js
46+
```javascript
3347
var NodeRSA = require('node-rsa');
3448

3549
var key = new NodeRSA([key], [options]);
@@ -40,18 +54,18 @@ var key = new NodeRSA([key], [options]);
4054
* **signingAlgorithm** - hash algorithm used for signing and verifying. Can be `'sha1'`, `'sha256'`, `'md5'`. Default `'sha256'`.
4155

4256
#### "Empty" key
43-
```js
57+
```javascript
4458
var key = new NodeRSA();
4559
```
4660

4761
### Generate new key 512bit-length and with public exponent 65537
48-
```js
62+
```javascript
4963
var key = new NodeRSA({b: 512});
5064
```
5165

5266
### Load key from PEM string
5367

54-
```js
68+
```javascript
5569
var key = new NodeRSA('-----BEGIN RSA PRIVATE KEY-----\n'+
5670
'MIIBOQIBAAJAVY6quuzCwyOWzymJ7C4zXjeV/232wt2ZgJZ1kHzjI73wnhQ3WQcL\n'+
5771
'DFCSoi2lPUW8/zspk0qWvPdtp6Jg5Lu7hwIDAQABAkBEws9mQahZ6r1mq2zEm3D/\n'+
@@ -65,62 +79,63 @@ var key = new NodeRSA('-----BEGIN RSA PRIVATE KEY-----\n'+
6579

6680
Also you can use next methods:
6781

68-
```js
82+
```javascript
6983
key.generateKeyPair([bits], [exp]);
7084
key.loadFromPEM(pem_string);
7185
```
7286
**bits** - key size in bits. 2048 by default.
7387
**exp** - public exponent. 65537 by default.
7488

7589
### Export keys
76-
```js
90+
```javascript
7791
key.getPrivatePEM();
7892
key.getPublicPEM();
7993
```
8094

8195
### Properties
8296

8397
#### Key testing
84-
```js
98+
```javascript
8599
key.isPrivate();
86100
key.isPublic([strict]);
87101
```
88102
**strict** - if true method will return false if key pair have private exponent. Default `false`.
89103

90104
#### Key info
91-
```js
105+
```javascript
92106
key.getKeySize();
93107
```
94108
Return key size in bits.
95109

96-
```js
110+
```javascript
97111
key.getMaxMessageSize();
98112
```
99113
Return max data size for encrypt in bytes.
100114

101115
### Encrypting/decrypting
102-
```js
116+
117+
```javascript
103118
key.encrypt(buffer, [encoding], [source_encoding]);
104119
```
105120
Return encrypted data.<br/>
106121
**buffer** - data for encrypting, may be string, Buffer, or any object/array. Arrays and objects will encoded to JSON string first.<br/>
107122
**encoding** - encoding for output result, may be `'buffer'`, `'binary'`, `'hex'` or `'base64'`. Default `'buffer'`.<br/>
108123
**source_encoding** - source encoding, works only with string buffer. Can take standard Node.js Buffer encodings (hex, utf8, base64, etc). `'utf8'` by default.<br/>
109124

110-
```js
125+
```javascript
111126
key.decrypt(buffer, [encoding]);
112127
```
113128
Return decrypted data.<br/>
114129
**buffer** - data for decrypting. Takes Buffer object or base64 encoded string.<br/>
115130
**encoding** - encoding for result string. Can also take `'buffer'` for raw Buffer object, or `'json'` for automatic JSON.parse result. Default `'buffer'`.
116131

117132
### Signing/Verifying
118-
```js
133+
```javascript
119134
key.sign(buffer, [encoding], [source_encoding]);
120135
```
121136
Return signature for buffer. All the arguments are the same as for `encrypt` method.
122137

123-
```js
138+
```javascript
124139
key.verify(buffer, signature, [source_encoding], [signature_encoding])
125140
```
126141
Return result of check, `true` or `false`.<br/>

0 commit comments

Comments
 (0)