草庐IT

AES-Rijndael

全部标签

php - TPLockBox3 和 PHP - AES 在 Delphi 中加密,在 PHP 中解密

我在使用lockbox3和PHPmcrypt时遇到了麻烦。我无法将IV传递给PHP。Delphicode:varCodec:TCodec;CL:TCryptographicLibrary;PlainStream:TStringStream;CipherStream:TMemoryStream;beginPlainStream:=TStringStream.Create(Edit1.Text);CipherStream:=TMemoryStream.Create;CL:=TCryptographicLibrary.Create(nil);Codec:=TCodec.Create(nil)

java - 无法使用 AES/ECB/PKCS5Padding 将加密方法从 Java 复制到 PHP

我有以下Java代码importjava.io.IOException;importjava.io.UnsupportedEncodingException;importjava.security.InvalidKeyException;importjava.security.NoSuchAlgorithmException;importjavax.crypto.BadPaddingException;importjavax.crypto.Cipher;importjavax.crypto.IllegalBlockSizeException;importjavax.crypto.Key

php - 从 PHP 中的 RNCryptor AES 256 header 中检索 IV

使用最新的RNCryptor源并尝试将加密数据发送到PHP脚本。RNCryptor将IV打包到header部分,该部分附加在实际加密数据上。-(NSData*)header{uint8_theader[2]={kRNCryptorFileVersion,self.options};NSMutableData*headerData=[NSMutableDatadataWithBytes:headerlength:sizeof(header)];if(self.options&kRNCryptorOptionHasPassword){[headerDataappendData:self.e

基于FPGA的AES加密解密vivado仿真,verilog开发,包含testbench

目录1.算法描述2.仿真效果预览3.verilog核心程序4.完整verilog1.算法描述     AES,高级加密标准,是采用区块加密的一种标准,又称Rijndael加密法.严格上来讲,AES和Rijndael又不是完全一样,AES的区块长度固定为128比特,秘钥长度可以是128,192或者256.Rijndael加密法可以支持更大范围的区块和密钥长度,Rijndael使用的密钥和区块长度均可以是128,192或256比特.AES是对称加密最流行的算法之一.    AES算法在对明文加密的时候,并不是把整个明文一股脑的加密成一整段密文,而是把明文拆分成一个个独立的明文块,每一个明文块长度1

PHP AES 加密...不知道我在做什么

我对加密知之甚少,但我能够让AES在PHP中工作……有点。以下是我正在使用的几个函数:functionaes_decrypt($val,$ky){$key="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";for($a=0;$a=0andord(substr($dec,strlen($dec)-1,1))这些是从commentonthePHPdocumentationpageformcrypt稍微修改的。(我从dev_urandom更改为rand,因为我在windowsbox上,其中dev_urandom不可用。)无论如何,我在这个函数中使用的键是这样定义的:def

php - 简单的 PHP 加密/解密(Mcrypt、AES)

我正在寻找一种使用Mcrypt的AES的简单但加密强度高的PHP实现。希望将其归结为一对简单的函数,$garble=encrypt($key,$payload)和$payload=decrypt($key,$garble). 最佳答案 我最近在学习这个主题,并将此答案作为社区Wiki发布以分享我的知识,等待更正。McryptDocumentation据我了解,可以使用Mcrypt将以下常量作为选项来实现AES:MCRYPT_RIJNDAEL_128//ascipherMCRYPT_MODE_CBC//asmodeMCRYPT_MOD

c# - 将 c# Rijndael 函数转换为 php 函数

我正在尝试将C#函数转换为PHP。这是C#函数:publicstringEncrypt(stringValue){stringRetVal="";if(Value!=string.Empty&&Value!=null){MemoryStreamBuffer=newMemoryStream();RijndaelManagedRijndaelManaged=newRijndaelManaged();UnicodeEncodingUnicodeEncoder=newUnicodeEncoding();byte[]KeyArray=newByte[]{1,1,1,1,1,1,1,1,1,1,1

php - 使用 PHP 进行 CMAC-AES 散列

我们的API平台使用CMAC-AES哈希作为请求的签名。我们有可用于在Java和.NET中创建此散列的库,但也需要为PHP找到解决方案。问题是我找不到任何似乎能够可靠地生成与在我们的服务器上或通过Java/.NET库生成的CMAC相匹配的散列的东西。我找到的唯一库是CryptLib,一个alpha库。https://github.com/ircmaxell/PHP-CryptLib但它没有生成相同的哈希值,而且我对加密技术的了解还不够好,无法理解原因(它强制AES的block大小为16,而我在网上发现的AESblock大小为128)。我还有其他途径吗? 最佳

php - 使用AES用Objective-C加密用PHP解密

我想在Objective-C中使用AES加密密码,然后在PHP中解密,但我有两个问题。我加密了密码,但它是一个NSData对象,所以我用base64对它进行编码,但是当我用PHP解码时,结果是nil。所以我无法解密它。我可以在Objective-C中加密和解密密码,所以是PHP的问题,但是当我用AES加密然后用base64编码时,结果不一样。这是我的代码:PHP:$iv_size=mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB);$iv=mcrypt_create_iv($iv_size,MCRYPT_RAND);$key=

java - php 和 java 之间具有零填充加密结果的不同 AES128

我在使用零填充和无IV加密的AES128中使用java和php方法得到不同的结果。这里是PHP代码:这里是java代码:publicstaticStringencrypt()throwsException{try{Stringdata="secretdata";Stringkey="secret0000000000";Stringiv="0000000000000000";Ciphercipher=Cipher.getInstance("AES/CBC/NoPadding");intblockSize=cipher.getBlockSize();byte[]dataBytes=data