我想要一个包含 javascript 的离线网页,该网页将使用密钥加密字符串并生成另一个字符串。然后我想做相反的事情。
这是一个简单的工具,我可以离线运行,所以我希望让对话远离客户端加密。
现在我选择了 google crypto.js 作为我的密码,在这个例子中我使用的是 Rabbit
这是我的 jdfiddle
它使用 jquery 和以下外部资源
http://code.google.com/p/crypto-js/#Rabbit
我哪里错了?
<div>key<br><input class="key" type="text"></div>
<div>readout<br><input class="readout" type="text"></div>
<div>
<div class="button encrypt">encrypt</div>
<div class="button decrypt">decrypt</div>
</div>
<div class="error"><div>
var key,readout;
$('.encrypt').on('click', function(){
if (init()) {
console.log('-- encrypt clicked --');
console.log('key = ', key);
console.log('readout = ', readout);
var answer = CryptoJS.Rabbit.encrypt(readout, key);
answer = answer.toString();
console.log('answer = ',answer);
$('.readout').val(answer);
}
});
$('.decrypt').on('click', function(){
if (init()) {
console.log('-- decrypt clicked --');
console.log('key = ', key);
console.log('readout = ', readout);
var answer=CryptoJS.Rabbit.decrypt(readout, key);
answer = answer.toString();
console.log('answer = ',answer);
$('.readout').val(answer);
}
});
function init(){
key = '' + $('.key').val();
readout = '' + $('.readout').val();
console.log('-- init, error check, get key and readout --');
console.log('key = ', key);
console.log('readout = ', readout);
$('.error').empty();
var success = true;
if (key=="") {$('.error').append('key is empty<br>');success=false;}
if (readout=="") {$('.error').append('readout is empty<br>');success=false;}
return success;
}