繁体   English   中英

如何加密 Python 中的字符串并解密 PHP 中的相同字符串?

[英]How to encrypt a string in Python and decrypt that same string in PHP?

我有一个字符串,我想在 Python 中加密,将其存储为 cookie,然后在 PHP 文件中我想检索该 cookie,并在 PHP 中解密。我 go 如何执行此操作?


我感谢快速响应。

撇开所有 cookie 不谈,只说我想加密 Python 中的字符串,然后解密 PHP 中的字符串。

有什么例子可以指出吗?

使用标准加密方案。 任何一种语言的实现都是等效的。

如果您需要非对称密钥加密, RSA可以使用两种语言(通过第三方库)。 AES也是如此,如果你需要对称密钥。

如果您不是在谈论加密,而是编码以确保内容能够安全地通过,无论引用问题,特殊字符和换行符,我认为base64编码是您最好的选择。 PHP开箱即用base64_encode / decode(),我也确信Python也有。

请注意,base64编码显然不会对您的数据进行加密(即使其对外人无法读取),并且base64编码数据增长了33%。

好吧,我的第一个想法是使用一个使用SSL的Web服务器并将cookie的安全属性设置为true,这意味着它只会通过SSL连接提供。

但是,我知道这可能不是你想要的。

虽然晚了点。 使用 Fe.net 库查找下面的示例代码

#Python Code - fernet 1.0 library
from cryptography.fernet import Fernet
key =  b"Gm3wFh9OiQHcVc8rcAMm8IOqKOJtk7CbrGRKVhrvXhg="
f = Fernet(key)
token = f.encrypt(b'the quick brown fox jumps over the lazy hare')
print(token)

##gAAAAABiMWVPsStLo42ExcmIqcGvRvCCmnhB5B6dc2JsOm4w-VsE9oJOuk_qYuZvHv5quQR4t_6ZjNJzAdCiDPOtESNzCreJZLwc2X-_apbqKKnBwc3KhmqL-K5X7t1uR1WXuyUEYUtW



<?php
    //PHP - kelvinmo/fernet-php v1.0.1 A
    require 'vendor/autoload.php';
    use Fernet\Fernet;
    $key = "Gm3wFh9OiQHcVc8rcAMm8IOqKOJtk7CbrGRKVhrvXhg=" ;
    $fernet = new Fernet($key);
    $token = "gAAAAABiMWVPsStLo42ExcmIqcGvRvCCmnhB5B6dc2JsOm4w-VsE9oJOuk_qYuZvHv5quQR4t_6ZjNJzAdCiDPOtESNzCreJZLwc2X-_apbqKKnBwc3KhmqL-K5X7t1uR1WXuyUEYUtW";
    echo $fernet->decode($token);

?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM