Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
seededshuffle
Advanced tools
NPM
npm install seededshuffle
Bower
bower install seededshuffle
This project is Unlicensed. In other words, I don't care what you do with it. However, if you make something interesting, I would like to check it out.
Shuffle and unshuffle an array by seed/key.
var SeededShuffle = require('seededshuffle');
var array = SeededShuffle.shuffle(<array>,<seed>[,copy]); // Returns an array or null.
var array = SeededShuffle.unshuffle(<array>,<seed>[,copy]); // Returns an array or null.
Array - The array to shuffle.
Seed - The key to shuffle your array.
Copy* - Make a copy of the array instead of overwriting it.
* Optional.
SeededShuffle.seed - The seed number used to shuffle your key.
If you use a string as a seed it is converted to a number.
SeededShuffle.strSeed - The string used for the seed (if any).
Examples:
var ss = require('seededshuffle');
var arrays = [
[1,2,3,4,5,6,7,8,9,10],
["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],
];
var keys = [
"Example key 1.",
Date.now(),
Math.PI,
"Example key 4.",
false,
];
for (var num in arrays) {
console.log("\n--- Array "+arrays[num]+" ---");
for (var key in keys) {
var shuff = ss.shuffle(arrays[num],keys[key],true),
ushuff = ss.unshuffle(shuff,keys[key],true);
console.log(" --- Key "+keys[key]+" ---");
console.log("Shuffled: "+(shuff?shuff:"returned was empty!"));
console.log("Unshuffled: "+(ushuff?ushuff:"returned was empty!"));
console.log();
};
};
<html>
<head>
<title>SeededShuffle test</title>
<script src="./sshuffle.js"></script>
<script>
window.onload = function () {
var arrays = [
[1,2,3,4,5,6,7,8,9,10],
["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],
];
var keys = [
"Example key 1.",
Date.now(),
Math.PI,
"Example key 4.",
false,
];
for (var num in arrays) {
output("<br />--- Array: "+arrays[num]+" ---<br />");
for (var key in keys) {
var shuff = SeededShuffle.shuffle(arrays[num],keys[key],true),
ushuff = SeededShuffle.unshuffle(shuff,keys[key],true);
output(" --- Key: "+keys[key]+" ---<br />");
output("Shuffled: "+(shuff?shuff:"returned was empty!")+"<br />");
output("Unshuffled: "+(ushuff?ushuff:"returned was empty!")+"<br />");
output("<br />");
};
};
};
function output (txt) {
document.getElementById("seeded").innerHTML += txt;
};
</script>
</head>
<body>
<div id="seeded"></div>
</body>
</html>
FAQs
Shuffle and unshuffle an array by seed/key.
The npm package seededshuffle receives a total of 836 weekly downloads. As such, seededshuffle popularity was classified as not popular.
We found that seededshuffle demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.