1
0
mirror of https://github.com/S2-/securerandomstring.git synced 2025-08-02 18:30:04 +02:00

12 Commits

Author SHA1 Message Date
s2
388dd79a47 changelog 2024-09-26 13:37:30 +02:00
s2
bed8113750 1.1.4 2024-09-26 13:27:50 +02:00
s2
a23c85cabe update package.json 2024-09-26 13:22:31 +02:00
s2
af5b2eaced if the generated string is not long enough, retry 2024-09-26 13:18:22 +02:00
s2
51274ca17b add 10 chars test 2024-09-26 13:17:57 +02:00
s2
f7e565bcc7 1.1.3 2020-04-08 18:20:02 +02:00
s2
f82de05f4b throw exception if string is not selected length 2020-04-08 18:19:54 +02:00
s2
94f2eadf63 1.1.2 2019-07-13 15:44:08 +02:00
s2
394d13d5a7 1.1.1 2019-07-13 15:43:41 +02:00
Mark Stosberg
a6dc243138 Clarify that the default char set returned is base64 encoded
Also, link to a neutral URL for the MIT license instead of the node-ses repo.
2019-07-12 09:20:40 -04:00
s2
cb6bbee3b1 add one more test 2017-11-26 22:04:14 +01:00
s2
0259480474 just a newline 2017-11-26 21:57:41 +01:00
5 changed files with 30 additions and 8 deletions

View File

@@ -4,6 +4,12 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## [1.1.4] 2024-09-26
## Changes
- In previous versions, if there was not enough entropy on the system, `securerandomstring` would throw an exception. Now it will retry to generate a random string until it succeeds, or the call stack becomes full.
## [1.1.0] 2017-12-26
### New Features

View File

@@ -8,7 +8,9 @@ Node.js module that generates a cryptographically secure random string with a gi
var srs = require('secure-random-string');
```
### Default behavior: Generate a random string 32 characters long.
### Default behavior: Generate a random Base64 encoded string 32 characters long.
This may include alphanumeric characters as well as the following characters: +, /, =.
```javascript
// Sync
@@ -64,4 +66,4 @@ the async API returns the error to the callback.
## License
[MIT](https://github.com/aheckmann/node-ses/blob/master/LICENSE)
[MIT](https://opensource.org/licenses/MIT)

View File

@@ -31,6 +31,9 @@ function srs(options, cb) {
} else {
string = string.replace(/\//g, '_').replace(/\+/g, '-');
}
if (string.length < length) {
return _finish(crypto.randomBytes(length));
}
return string.substr(0, length);
}
};

View File

@@ -1,6 +1,6 @@
{
"name": "secure-random-string",
"version": "1.1.0",
"version": "1.1.4",
"description": "Generates a secure random string with a given length",
"main": "lib/secure-random-string.js",
"scripts": {
@@ -8,7 +8,7 @@
},
"repository": {
"type": "git",
"url": "https://github.com/S2-/securerandomstring.git"
"url": "https://github.com/5im-0n/securerandomstring.git"
},
"keywords": [
"crypto",
@@ -19,10 +19,12 @@
"token"
],
"author": "Simon Santoro",
"contributors": ["Mark Stosberg <mark@rideamigos.com>"],
"contributors": [
"Mark Stosberg <mark@rideamigos.com>"
],
"license": "MIT",
"bugs": {
"url": "https://github.com/S2-/securerandomstring/issues"
"url": "https://github.com/5im-0n/securerandomstring/issues"
},
"homepage": "https://github.com/S2-/securerandomstring"
"homepage": "https://github.com/5im-0n/securerandomstring"
}

View File

@@ -56,10 +56,19 @@ srs({alphanumeric: true}, function(err, sr) {;
true
);
});
srs({alphanumeric: true, length: 40}, function(err, sr) {;
test('Must contain alphanumeric only and be 40 chars long',
sr.match(/^[a-zA-Z0-9_]*$/g)[0] === sr && sr.length === 40,
true
);
});
// sync tests
test('generate a random string 32 chars long (sync)', srs().length, 32);
test('generate a random string 1 chars long (sync)', srs({length: 1}).length, 1);
test('generate a random string 256 chars long (sync)', srs({length: 256}).length, 256);
test('generate a random string 10 chars long (sync)', srs({length: 10}).length, 10);
//in 2000 chars there should be at least one substitution