Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jitesoft/random-string-js
Random string generator for node and web.
https://github.com/jitesoft/random-string-js
hacktoberfest javascript nodejs random random-string randomizer web
Last synced: 5 days ago
JSON representation
Random string generator for node and web.
- Host: GitHub
- URL: https://github.com/jitesoft/random-string-js
- Owner: jitesoft
- License: mit
- Created: 2020-02-13T14:54:48.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-03-24T15:17:29.000Z (8 months ago)
- Last Synced: 2024-05-03T04:47:45.091Z (7 months ago)
- Topics: hacktoberfest, javascript, nodejs, random, random-string, randomizer, web
- Language: JavaScript
- Homepage:
- Size: 1.22 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @jitesoft/random-string
Random string generator with a shared api for both node and web.
Usage:
```javascript
import random from '@jitesoft/random-string';
const randomString = random(128, { minSpecial: 5 });
console.log(randomString);
// random string with a minimum of 5 special characters and a full length of 128 characters.
```If you wish to access the specific files by absolute paths, they are located at `@jitesoft/random-string/dist/index.node.js` and `@jitesoft/random-string/dist/index.web.js`.
## Information
### Randomness
The random generator for the node version uses the `crypto` library to generate random characters while the web version
uses the web `crypto` api. If web crypto api is not available, it will fallback to using the `Math.random` function.
The `Math.random` function is NOT a cryptographically secure algorithm, the randomness should be good enough, but do not
use the fallback in cases where high security is a must.### Characters
The following characters are used (char codes):
Alpha: `65-90` & `97-122`
Numbers: `48-57`
Special: `33-47` & `58-64` & `91-96` & `123-126`## Options
The following options (with defaults shown) can be passed as an object as the second argument of the function:
```json
{
"special": true,
"numbers": true,
"alpha": true,
"minSpecial": 0,
"minNumbers": 0,
"minAlpha": 0
}
```This allows for a bit more specific generation of strings, default values are used for anything not set when parsing the options.
## Source
The source code is kept intact under the `src` directory in the package. This is so that you may use the code directly if you wish to convert
it with your own bundler or converter.