hashcode.js
Version:
Java-like Object and Stdring hashes (sha and int)
33 lines (26 loc) • 907 B
JavaScript
const crypto = require("crypto");
console.log("Added methods to String and Object!")
Object.prototype.hashCode = function () {
return JSON.stringify(this).hashCode();
}
String.prototype.hashCode = function () {
var hash = 0;
for (var i = 0; i < this.length; i++) {
var character = this.charCodeAt(i);
hash = ((hash<<5)-hash)+character;
hash = hash & hash;
}
return hash;
}
Object.prototype.sha256 = function () {
return crypto.createHash("sha256").update(JSON.stringify(this)).digest("hex");
}
String.prototype.sha256 = function () {
return crypto.createHash("sha256").update(String(this)).digest("hex");
}
Object.prototype.sha512 = function () {
return crypto.createHash("sha512").update(JSON.stringify(this)).digest("hex");
}
String.prototype.sha512 = function () {
return crypto.createHash("sha512").update(String(this)).digest("hex");
}