作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 URL 传递加密字符串,现在我可以解密它,因为加密字符串包含 +
符号。如何绕过这个,
我在 Javascript 中使用 AES 加密。
我的代码是,
<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
解密代码是,
var decrypted = CryptoJS.AES.decrypt("<?php echo urldecode($_GET["encr"]); ?>", "qJB0rGtIn5UB1xG03efyCp");
如何避免 +
符号。有什么解决办法吗?
最佳答案
$_GET
中的值已进行 URL 解码。不要再次解码它们,这就是导致您出现问题的原因。只需 echo $_GET['encore']
即可。
请注意,您还应该对该值进行 json_encode
以确保输出正确的 Javascript 语法:
.decrypt(<?php echo json_encode($_GET['encr']); ?>)
关于javascript - 通过 url 传递的加密文本不解码 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34038404/
这个问题在这里已经有了答案: Why does += of a list within a Python tuple raise TypeError but modify the list anyw
我是一名优秀的程序员,十分优秀!