OpenPGP.js将PGP块传递给javascript变量
OpenPGP.js passing PGP block to javascript variable
我使用OpenPGP.js设置了一个加密消息的文件。我需要将PGP块设置为javascript变量,以便将其传递给加密/解密函数。当我把它粘贴进去时,它通常会把脚本分成多行。我试过使用php json_encode -这传递到加密函数,但readArmored得到一个错误"未知的ASCII装甲类型"。
什么是最好的方式来传递这个变量从php到javascript,或者我如何才能正确解码它在javascript中使用?
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="jquery.min.js"></script>
<script src="openpgp.js"></script>
</head>
<body>
<p>
Private:<br>
<textarea id="private" style="width: 500px; height: 100px;"></textarea>
</p>
<p>
Passphrase:<br>
<input id="passphrase" style="width: 500px;">
</p>
<p>
Public:<br>
<textarea id="public" style="width: 500px; height: 100px;"></textarea>
</p>
<p>
Encrypted:<br>
<textarea id="encrypted" style="width: 500px; height: 100px;"></textarea>
</p>
<p>
Decrypted:<br>
<textarea id="decrypted" style="width: 500px; height: 100px;"></textarea>
</p>
<?php
$privateKey = "-----BEGIN PGP PRIVATE KEY BLOCK-----
...
-----END PGP PRIVATE KEY BLOCK-----";
$privateKey = json_encode($privateKey);
$publicKey = "-----BEGIN PGP PUBLIC KEY BLOCK-----
...
-----END PGP PUBLIC KEY BLOCK-----";
$publicKey = json_encode($publicKey);
?>
<script>
var privateKey = '<?php echo $privateKey; ?>';
var publicKey = '<?php echo $publicKey; ?>';
var passcode = 'pass1234';
$('#passphrase').val(passcode);
$('#private').val(privateKey);
$('#public').val(publicKey);
encrypt(publicKey, 'Hello!!!');
function encrypt(pubkey, message){
var publicKey = openpgp.key.readArmored(pubkey);
console.log(publicKey);
openpgp.encryptMessage(publicKey.keys, message).then(function(pgpMessage) {
// success
$('#encrypted').val(pgpMessage);
}).catch(function(error) {
// failure
console.log(error);
});
}
</script>
</body>
</html>
删除' '解决了问题:
var privateKey = '<?php echo $privateKey; ?>';
var publicKey = '<?php echo $publicKey; ?>';
var privateKey = <?php echo $privateKey; ?>;
var publicKey = <?php echo $publicKey; ?>;
相关文章:
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量