跨语言可逆加密(PHP、Python)

2024-09-23 22:19:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个PHP驱动的web表单,我希望能够输入密码,加密它,并将其加载到数据库中。然后,使用Python查询密码,解密密码,然后使用它通过SMTPLIB向microsoftexchange电子邮件服务器进行身份验证。其余的认证信息将以纯文本形式存储。我的主要目标是不以明文形式存储密码。在

我尝试使用这两种语言的唯一原因是我的程序的其余“工作”都是用Python完成的。我只使用PHP作为一个简单的接口。这只是为了保持一致。在

是否有一个简单易用、跨语言的可逆加密库可用于此目的?在

用PHP编写电子邮件脚本会更好吗?如果出现这种情况,建议使用哪个库来执行此任务?在


Tags: 文本身份验证web语言信息数据库密码表单
2条回答

如果需要读回密码,请在数据库层而不是应用层进行加密-只需确保连接到数据库的是本地或SSL。在

要存储密码,步骤如下:

  • 计算机>
  • HTTPS>;>
  • Web服务器(PHP表单)>
  • (如果在其他服务器上,则为HTTPS;)
  • 数据库(AES加密)

根据所使用的数据库,语法可能会发生变化,但使用MySQL,您可以执行以下操作:

INSERT INTO `table` (`password`) 
VALUES (AES_ENCRYPT('{$sPassword}', '{$sEncryptionKey}'))

由于PHP正在将此写入数据库,因此可以使用PDO准备的语句来获取其中的数据。。。在

要使用Python脚本检索密码,只需在SQL server上运行SELECT语句,如下所示(假设数据位于AES加密的BLOB中):

^{pr2}$

这样,PHP和Python之间所需的唯一公共数据就是加密密钥(它只是一个字符串)。只要您在Internet上传递数据时保持SSL连接,您就应该没事了。在

AES对称加密:

相关问题 更多 >