草庐IT

php - PHP mcrypt 函数问题

我使用以下函数来解密我服务器上的数据:functiondecrypt($key,$text){returntrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256,$key,base64_decode($text),MCRYPT_MODE_ECB,mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB),MCRYPT_RAND)));}我已经阅读了很多关于不使用ECB的内容(并且知道它已被弃用,所以想切换到CBC。只需将模式切换为:functiondecrypt($key,$t

php - Mcrypt js 加密值不同于 PHP mcrypt/Mcrypt JS 解密生成的值不适用于 UTF-8 字符

我一直在尝试在服务器端、PHP和客户端上实现mcrypt加密/解密技术。我正在尝试使用mcrypt.js目前的图书馆为:';echo'EncyrptedValue:'.$enc_str=string_encrypt($test_str,$key);echo'';echo'DecryptedValue:'.string_decrypt($enc_str,$key);echo'';?>varenc_str=mcrypt.Encrypt('','');enc_str=B64.encode(enc_str);alert(enc_str);//Idon'tgetthissameasencypte

php - PHP中如何使用GCM模式加密?

我已经阅读了很多关于GCM的文章以及它有多棒,我想知道如何使用PHP使用AES-GCM身份验证加密。mcrypt()是否支持它?我在Codeigniter框架文档中找到了一些对GCM的引用,这让我相信可以在Codeigniter中使用.我还在一份关于Zend的文档中看到了一些东西。我不打算使用Codeigniter驱动程序,因为我不使用任何框架,也不打算用于我当前的项目。然而,在我看来,如果Codeigniter能够做到这一点,那么我们也应该能够在没有框架的情况下做到这一点。似乎GCM是兼顾安全性和性能的方式(我看到了非常令人印象深刻的性能数据)。我的感觉是我们需要这个,但我找不到任何

java - mcrypt(在 PHP 中)在 Java 中使用的任何等效项?

任何人都可以告诉任何可以在java中使用的库,如果使用mcrypt库在PHP中完成操作,它会给出相同的结果。我想使用AES在Java中实际加密一个字符串,然后在PHP中解密它。JavaCipher会产生可由PHP中的mcrypt解密的加密吗?编辑:在网上找到了一些resin-3.1的库。可以吗? 最佳答案 加密算法独立于编程语言。只要:Cipher(例如:AES、DES、Blowfish等),Modeofoperation(例如:CBC、CTR、OFB等),Key,IV和Padding(mcrypt使用零填充)都是一样的,无论使用何

php - 使用 php 加密大文件的最佳方法

我正在用php开发一个项目,需要对用户上传的文件进行加密。这些文件可能在1mb到200mb之间或多或少。在网上搜索后,我得出的结论是最好的方法是将文件分成block,例如4096字节。所以我加密了每个block并将其附加到完整的加密文件中。我实际上在CBC模式下使用mcrypt和AES-256加密。所以,我的问题是:1)我必须为每个block创建一个新的初始向量,或者我可以将前一个block的最后一个block的最后16个字节作为当前block的第一个block的初始向量吗?这将导致只有一个iv附加到加密文件的开头,而不是每个block都附加一个iv到加密block之前。2)为了添加H

c# - 使用 PHP 和 c# 的 Mcrypt 和 base64

我在两个平台上编写了相同的方法,我认为这应该会产生相同的结果,但它并没有发生。我用相同的key加密了相同的文本,结果不同。有人能弄清楚为什么会这样吗?字符串:这是测试key:1234567812345678PHP加密字符串:ybUaKwQlRNwOjJhxLWtLYQ==C#加密字符串:r2YjEFPyDDacnPmDFcGTLA==C#函数staticstringEncrypt(stringplainText,stringkey){stringcipherText;varrijndael=newRijndaelManaged(){Key=Encoding.UTF8.GetBytes(

php - Delphi DEC库(Rijndael)加密

我正在尝试使用DEC3.0库(DelphiEncryptionCompediumPartI)在Delphi7中加密数据并通过POST将其发送到PHP脚本,我在其中使用mcrypt对其进行解密(RIJNDAEL_256,ECB模式)。德尔福部分:usesWindows,DECUtil,Cipher,Cipher1;functionEncryptMsgData(MsgData,Key:string):string;varRCipher:TCipher_Rijndael;beginRCipher:=TCipher_Rijndael.Create(KeyStr,nil);RCipher.Mod

PHP 重定向阻止脚本

更新我发现了阻碍我的脚本的问题。显然它与解密无关,而是我的重定向。当我删除这段代码时,脚本开始快速执行。仍然不确定为什么会导致此问题?//MakesurewehaveanOrderIDif(!isset($_GET['id'])&&!isset($_POST['id'])){header("Location:https://www.website.com/orders/");exit;}原始问题:我一直在使用此处的加密类:Encryptionclass.我将数据存储在MySQL数据库中,使用VARCHAR二进制数据类型(以前我尝试过BLOB和TINYBLOB)。加密和解密都可以,但解密

javascript - php mcrypt 到 javascript aes 集成

我正在尝试使用javascript通过AES-256-CBC和phpmcrypt库对数据进行解码,反之亦然。我知道javascript的问题本质以及任何人都可以看到key的事实,但我使用的是javascript一种用于非网络环境的脚本工具-所以不用担心。我找到了pidderhttps://sourceforge.net/projects/pidcrypt/并用演示页面加密了一些数据,然后尝试通过php对其进行解密,但出了点问题,我似乎找不到什么...我在两端使用相同的key,一个32字节的字符串不胜感激~~~$encrypted="stringafterpidderencryption

php - 安装 php5-mcrypt 时出错

就在今天,我注册了GoogleCloudComputeEngine。我做了一切,但后来我在安装php5-mcrypt扩展时遇到了错误。错误:root@instance-2:~#sudoapt-getinstallphp5-mcryptReadingpackagelists...DoneBuildingdependencytreeReadingstateinformation...DoneSomepackagescouldnotbeinstalled.Thismaymeanthatyouhaverequestedanimpossiblesituationorifyouareusingth