JSFiddle - React, Tailwind, and code Playground
hashCode
by Hugo Carneiro
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<div class="container-fluid">
<div class="row">
<div class="col-xs-12">
<form id="encryptForm">
<div class="form-group">
<label for="exampleInputEmail1">Passwords to encrypt</label>
<p class="help-block"><em>Enter one password per line</em></p>
<textarea class="form-control" rows="10" name="passwords" id="passwords"></textarea>
</div>
<button type="submit" class="btn btn-primary">Encrypt passwords</button>
</form>
<div id="encrypted">
<h4>Encrypted passwords</h4>
<pre id="debug"></pre>
</div>
</div>
</div>
</div>
CSS
#encrypted {
display: none;
}
JavaScript
String.prototype.hashCode = function() {
var hash = 0,
i, chr;
if (this.length === 0) return hash;
for (i = 0; i < this.length; i++) {
chr = this.charCodeAt(i);
hash = ((hash << 5) - hash) + chr;
hash |= 0; // Convert to 32bit integer
}
return hash;
};
$('#encryptForm').on('submit', function(event){
event.preventDefault();
var passwords = $('#passwords').val().split(/\n/);
if (!passwords.length) {
return;
}
var encryptedPasswords = passwords.map(function(p){
return p.hashCode();
}).join('\n');
$('#debug').html(encryptedPasswords);
$('#encrypted').show();
});