或者:如何为一群用户存储加密数据?我承认,这是一个愚蠢的问题,正如该术语已经暗示的那样,私钥仅限于一个人。但我有以下情况:用户Tom输入需要加密存储在数据库中的数据。用户决定他想让Jim和Bob可以使用此信息。用户John和Jayne一定无法解密它。当然,也不要攻击入侵服务器并有权访问加密数据和执行加密/解密的脚本的用户Tim。我认为PHP的公钥/私钥方法openssl_public_encrypt函数在这里不起作用,因为两个用户需要有那个“私钥”来解密数据。我想这是一个相当笼统的问题,但如果它很重要,则必须用PHP(也许还有MySQL)来完成。 最佳答案
我目前在解密由phpmcrypt加密的消息时遇到一些问题。php代码如下:";?>然后将加密的消息发送到ASP.NET平台(C#)。但是,我在保留解密顺序时遇到问题(base64解码为urldecode)。我在ASP.NET中的代码如下(iv和key与php中的相同):publicstringDecode(stringstr){byte[]decbuff=Convert.FromBase64String(str);returnSystem.Text.Encoding.UTF8.GetString(decbuff);}staticpublicStringDecryptRJ256(stri
我目前在解密由phpmcrypt加密的消息时遇到一些问题。php代码如下:";?>然后将加密的消息发送到ASP.NET平台(C#)。但是,我在保留解密顺序时遇到问题(base64解码为urldecode)。我在ASP.NET中的代码如下(iv和key与php中的相同):publicstringDecode(stringstr){byte[]decbuff=Convert.FromBase64String(str);returnSystem.Text.Encoding.UTF8.GetString(decbuff);}staticpublicStringDecryptRJ256(stri
我正在寻找一种将.txt文件加密为zip的方法,但要以安全的密码保护方式进行。我的目标是将此文件通过电子邮件发送给我,而任何人都无法阅读附件的内容。有没有人知道一个简单的,最重要的是,安全的方法来完成这个?我可以创建zip存档,但我不知道如何加密它们,或者,这有多安全。 最佳答案 从php7.2(一个小时前发布)开始,正确的方法是使用ZipArchive中包含的附加功能。nativephp代码。(感谢abraham-tugalov指出这一变化即将到来)现在简单的答案看起来像这样:open('test.zip',ZipArchive:
我正在寻找一种将.txt文件加密为zip的方法,但要以安全的密码保护方式进行。我的目标是将此文件通过电子邮件发送给我,而任何人都无法阅读附件的内容。有没有人知道一个简单的,最重要的是,安全的方法来完成这个?我可以创建zip存档,但我不知道如何加密它们,或者,这有多安全。 最佳答案 从php7.2(一个小时前发布)开始,正确的方法是使用ZipArchive中包含的附加功能。nativephp代码。(感谢abraham-tugalov指出这一变化即将到来)现在简单的答案看起来像这样:open('test.zip',ZipArchive:
我不知道如何验证这个字符串。我只是提供一个IV用于加密,但找不到1is_hex()1或类似的函数,我无法理解它!我在php文档(用户contrib.notes)中阅读了一条评论:if($iv==dechex(hexdec($iv))){//True}else{//False}但这似乎根本不起作用..它只说false。如果它有助于我输入我的IV,那就是:92bff433cc639a6d 最佳答案 使用函数:ctype_xdigit上面的例子会输出:字符串AB10BC99由所有十六进制数字组成。字符串AR1012并非全部由十六进制数字组
我不知道如何验证这个字符串。我只是提供一个IV用于加密,但找不到1is_hex()1或类似的函数,我无法理解它!我在php文档(用户contrib.notes)中阅读了一条评论:if($iv==dechex(hexdec($iv))){//True}else{//False}但这似乎根本不起作用..它只说false。如果它有助于我输入我的IV,那就是:92bff433cc639a6d 最佳答案 使用函数:ctype_xdigit上面的例子会输出:字符串AB10BC99由所有十六进制数字组成。字符串AR1012并非全部由十六进制数字组
我在基本加密/解密方面遇到问题。我到处寻找一个工作示例,但还没有找到一个工作示例。-我将在php中进行加密,使用cryptojs进行解密以实现一小层安全PHP";echo"Encrypted:";echo$msgEncrypted;echo"Base64:";echo$msgBase64;?>AESDecryptvarkey='encryptionkey';varencrypted="";//triedvarbase64decode=CryptoJS.enc.Base64.parse(encrypted);vardecrypted=CryptoJS.AES.decrypt(encryp
我在基本加密/解密方面遇到问题。我到处寻找一个工作示例,但还没有找到一个工作示例。-我将在php中进行加密,使用cryptojs进行解密以实现一小层安全PHP";echo"Encrypted:";echo$msgEncrypted;echo"Base64:";echo$msgBase64;?>AESDecryptvarkey='encryptionkey';varencrypted="";//triedvarbase64decode=CryptoJS.enc.Base64.parse(encrypted);vardecrypted=CryptoJS.AES.decrypt(encryp
我的应用程序(显然)使用唯一ID来区分记录。此UID在URL中传递(例如./examplepage.php?UID=$example_int)等等。虽然我显然有服务器端验证以确保客户端不会访问其他客户端的数据,但我是否可以在PHP中使用双向加密方法来仅传递加密的UID(例如./examplepage.php?EUID=$encrypted_int),以进一步减少任何人想“嘿,如果我增加这个整数会发生什么?”的机会TIA。 最佳答案 PHP5.3引入了一种真正易于使用的新加密方法:openssl_encrypt和openssl_dec