首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加密文本通过url而不是解码Javascript

加密文本通过url而不是解码Javascript
EN

Stack Overflow用户
提问于 2015-12-02 08:52:34
回答 2查看 780关注 0票数 0

我正在使用URL传递一个加密的字符串,现在我可以解密它,因为加密的字符串包含+符号。如何绕过这个,

我在Javascript中使用AES加密。

我的代码是,

代码语言:javascript
复制
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>

window.location.href = "check.php?encr="+encodeURIComponent(CryptoJS.AES.encrypt(80,"qJB0rGtIn5UB1xG03efyCp"));

加密字符串是U2FsdGVkX184sTDp%2BB%2Bgpn07shpb6lqRzqTh4BLOMj4%3D

解密码是,

代码语言:javascript
复制
var decrypted = CryptoJS.AES.decrypt("<?php echo urldecode($_GET["encr"]); ?>", "qJB0rGtIn5UB1xG03efyCp");

如何避免+符号。有没有解决办法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-02 09:32:26

我知道答案了

加密,

代码语言:javascript
复制
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>

window.location.href = "check.php?encr="+CryptoJS.AES.encrypt(80,"qJB0rGtIn5UB1xG03efyCp");

解密,

代码语言:javascript
复制
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>

$q = urlencode($_GET["encr"]);
$q = str_replace("+", "%2B",$q);
$q = urldecode($q);

var decrypted = CryptoJS.AES.decrypt("<?php echo $q; ?>", "qJB0rGtIn5UB1xG03efyCp");
票数 0
EN

Stack Overflow用户

发布于 2015-12-02 08:54:44

$_GET中的值已经被URL解码。不要再对它们进行解码,这就是引起你问题的原因。简单地说echo $_GET['encore']就行了。

请注意,还应该使用json_encode值来确保输出正确的Javascript语法:

代码语言:javascript
复制
.decrypt(<?php echo json_encode($_GET['encr']); ?>)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34038404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档