草庐IT

CMAC-AES

全部标签

php - 如何在 PHP 中进行 AES256 解密?

我有一段加密的文本需要解密。它使用AES-256-CBC加密。我有加密的文本、key和iv。但是,无论我尝试什么,我似乎都无法让它发挥作用。互联网建议mcrypt的Rijndael密码应该能够做到这一点,所以这是我现在拥有的:functiondecrypt_data($data,$iv,$key){$cypher=mcrypt_module_open(MCRYPT_RIJNDAEL_128,'',MCRYPT_MODE_CBC,'');//initializeencryptionhandleif(mcrypt_generic_init($cypher,$key,$iv)!=-1){//

php - 使用 PHP 以 AES-256 加密文件的最佳方法是什么?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion我在网上找到了一些可以提供帮助的教程,但我不确定是否有最佳选择。我想用高度安全的算法加密文件(我有点偏执)但同时我又追求速度(我知道这有点矛盾)...所以我选择了AES-256...但是使用AES-256和PHP加密文件的最佳方法是什么?

php - JavaScript 中的 AES 匹配 PHP 的 mcrypt

是否有任何JavaScript库可以让您像在PHP中使用mcrypt那样加密和解密256位AES(当然得到相同的结果)?我想给它一个可变长度的消息和一个32个字符的key。我发现的所有库都需要固定长度的明文block和key字节数组。这是在PHP中的实现方式:$iv_size=mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256,MCRYPT_MODE_ECB);$iv=mcrypt_create_iv($iv_size,MCRYPT_RAND);echomcrypt_encrypt(MCRYPT_RIJNDAEL_256,"32CHARSTHATREPRESE

PHP AES 加密 PKCS5Padding

我不是PHP编码员,所以我需要一些关于PHPAES加密的帮助。我正在编写代码,用PHP加密图像文件,然后用Java(Android)解密它们。当我加密/解密PNG文件时一切正常,但是当我尝试对JPG文件执行相同操作时,Java解密会引发异常:WARN/System.err(345):java.io.IOException:datanotblocksizealigned网上查了一下,好像是我padding不对导致的。我怎样才能正确地做到这一点?这是加密的PHP代码: 最佳答案 以下PKCS5Padding示例来自对mcryptdocs

javascript - AES-256-CBC Encrypt-PHP解密和Cryptojs加密

我正在尝试使用CryptoJS在Javascript中加密并在PHP中解密。JS代码为:varsalt=CryptoJS.lib.WordArray.random(128/8);varkey256Bits500Iterations=CryptoJS.PBKDF2("SecretPassphrase",salt,{keySize:256/32,iterations:500});variv=CryptoJS.enc.Hex.parse('101112131415161718191a1b1c1d1e1f');//justchosenforanexample,usuallyrandomaswe

php - 如何使用 Libsodium-PHP 加密/解密 AES

我需要用PHP加密/解密数据。我对此完全陌生,但是我读过Libsodium-PHP是AES加密的最佳工具。与我研究过的其他PHP加密库非常相似,Libsoduim-PHP似乎几乎没有提供有关如何使用该库的文档(我能够找到)。任何有PHP加密经验的人都可以指出一个好的学习资源的方向或使用Libsoduim-PHP编写几行示例代码吗?非常感谢你的帮助,图集 最佳答案 MuchliketheotherPHPencryptionlibrariesIhaveresearchedLibsoduim-PHPseemedtoofferalmostn

java - IvParameterSpec 和 GCMParameterSpec 与 AES/GCM/NoPadding 的区别

我正在使用AES/GCM/NoPadding算法在Android(API19及更高版本)上加密一些数据,然后再将其解密。我使用的key大小是32字节并提供给我除了加密之外,我还想知道何时尝试解密并使用错误的key。这就是为什么我更喜欢使用GCM作为我的模式来获得验证完整性的好处(我相信可以安全地假设密文或key是否有错误会导致错误的解密异常而不是乱码文本)我面临的问题是,在AndroidAPI19上使用上述算法并使用GCMParameterSpec初始化密码我得到一个NoSuchAlgorithmException,我自己没有指定任何提供者允许Android给我挑一个支持我算法的。在2

android - AES Gingerbread

This是我的AES代码。在Gingerbread下,我在2.2上加密数据然后尝试在2.3上解密后出现以下错误:Causedby:javax.crypto.BadPaddingException:padblockcorruptedatorg.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(JCEBlockCipher.java:715)atjavax.crypto.Cipher.doFinal(Cipher.java:1090)atcom.citc.wallet.util.security.SimpleCrypto.decr

android - 用于 AES 加密的 Gradle 脚本

对于Android应用程序,我想在使用gradle构建时混淆/加密服务器公钥。现在我正在使用Base64进行混淆,但我需要额外的AEStaskencryptKeys{doFirst{//Encrypttheserverkey//Loadkeybyte[]key=newFile('project/keys/server.crt.der').bytes//EncodekeytwiceStringencoded=key.encodeBase64().toString();encoded=encoded.bytes.encodeBase64().toString();//TODOAESENCR

Android aes 加密垫 block 已损坏

我正在使用下面的方法,如果我输入正确的key,一切正常。但是如果我输入了错误的key,我会收到BadPaddingException:padblockcorrupted...难道我做错了什么?publicvoidinitKey(Stringpasswd,byte[]salt)throwsNoSuchAlgorithmException,InvalidKeySpecException,NoSuchProviderException{byte[]localsalt=salt;PBEKeySpecpassword=newPBEKeySpec(passwd.toCharArray(),loca