将C#函数加密和解密转换为PHP函数
我想将C#功能转换为PHP功能. 这是c#中的函数的链接: https://stackoverflow.com/a/19441805/3581428 public static string Encrypt(string clearText) { string EncryptionKey = "MAKV2SPBNI99212"; byte[] clearBytes = Encoding.Unicode.GetBytes(clearText); using (Aes encryptor = Aes.Create()) { Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65,
6 2024-04-13
编程技术问答社区
在Java中生成的RSA公钥在php中是无效的
我正在Java中创建RSA键对,并希望在PHP中使用它. Java代码如下: public static boolean keyGen() throws NoSuchAlgorithmException, IOException, OperatorCreationException, InvalidKeySpecException { KeyPairGenerator kpGen = KeyPairGenerator.getInstance("RSA"); kpGen.initialize(2048, new SecureRandom()); KeyPair keyPair = kpGen.generateKeyPair(); PublicKey pub = keyPair.getPublic(); byte[] pubBytes = pub.getEncoded(); SubjectPublicKeyInfo spkI
4 2024-04-03
编程技术问答社区
生成CloudFront签名的URL时性能缓慢
我正在关注此示例,以使用PHP在云层上创建签名的URL /createurl_php.html 我的所有功能都可以正常工作,并为RTMP发行版和HTTP发行版生成了签名的URL. 但是,我注意到生成标志URL需要花费很长时间,我想知道在生产中使用数千个请求使用时会产生什么影响. 我进行了一些测试,似乎长时间进行的是php-openssl函数. 这是代码:
4 2024-03-27
编程技术问答社区
如何在Apache 2.2.9中用mod_ssl将openssl 0.9.8升级到1.0.2?
我被要求使用susese11sp3中的openssl 1.0.2重新编译mo_ssl. 但是,我是Suse的新手,但了解一些Linux. OS:SUSE SE11SP3 openssl:0.9.8J Web服务器:Apache HTTPD 2.2.9 这是我的限制.我不能使用zypper或rpm,因为公司安全策略不允许我这样做.这是荒谬的,这就是这里的方式. 我拥有的另一个限制是,我没有权限的其他Web服务器使用了此系统.我必须尽可能在本地进行. 我希望发生的事情是,当我重新编译Apache Server时,我喜欢看到mod_ssl链接到较新版本OpenSSL库. 所以,我下载了openssl 1.0.2h源文件: ./confgiure --prefix=//PREFIX/openssl --opendir=/PREFIX/openssl make test make install 成功地,我在本地目录上安装了OpenSSL. 然后我尝试重新
10 2024-03-20
编程技术问答社区
Php composer openssl错误
在询问之前,我必须说我已经尝试了在堆栈和其他地方的每个类似问题都失败了. 我由于这个错误而无法使用composer: requires ext-openssl * -> the requested PHP extension openssl is missing from your system. 我有xampp ubuntu. 我尝试的是: 我在php.ini(CLI和正常)中没有含量;extension=php_openssl.dll - 不起作用 通过php外部的终端安装了OpenSSL-无法正常工作 在phpinfo()中检查openssl openssl已加载并激活 ,很少有人喜欢通过php -c /opt/lampp/etc/php.ini composer.phar install我获得错误 的运行作曲家 PHP Warning: PHP Startup: Unable to load dynamic library /usr/
10 2024-02-27
编程技术问答社区
在Windows的Apache/PHP中禁用OpenSSL支持
openssl被禁用Apache2.4,php7.1 在phpinfo()中;结果给我这个 openssl支持禁用(安装ext/openssl) 我在php.ini中更改了此事 扩展= p​​hp_openssl.dll 我使用Windows CMD使用此代码 设置openssl_conf =/path/to/openssl.cnf 在CMD中使用时启用了它的功能,但在Phpinfo()中禁用了它的功能 php -ri openssl OpenSSL支持=>启用 OpenSSL库版本=> OpenSSL 1.0.2J 2016年9月26日 openssl默认配置=> c:/jampp/php71/extras/ssl/openssl.cnf 现在在CMD和phpinfo()中工作;不是,在Laravel 5中向我展示此错误 致电未定义的函数openssl_encrypt() 谢谢 解决方案 谢谢您所有的需求,包括(
20 2024-02-27
编程技术问答社区
在Windows 7上安装TYPO3 6.2.2时,PHP OpenSSL扩展无法工作
我已经在Windows 7上安装了Typo3 6.2.2,但我收到了以下错误消息: PHP OpenSSL extension not working Something went wrong while trying to create a new private key for testing. Please check the integration of the PHP OpenSSL extension and if it is installed correctly. 我尝试在互联网上找到有关此错误的解决方案,但我插图解决了此错误. 有人可以帮我找到解决方案吗?谢谢. 解决方案 在XAMPP和Windows Vista上对我有用的解决方案: 激活PHP模块Openssl 打开php.ini and uncomment(delete';')in: ;extension=php_openssl.dll 双检查是否通过运行phpin
16 2024-02-27
编程技术问答社区
PHP服务器端的IAB验证openssl_verify总是返回0
我正在使用以下功能(服务器端PHP)来验证IAB V3事务: 我从Android应用程序传递: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { String signed_data=data.getStringExtra(IabHelper.RESPONSE_INAPP_PURCHASE_DATA); String signature=data.getStringExtra(IabHelper.RESPONSE_INAPP_SIGNATURE); 我感觉这可能与我通过的签名有关. 我正在使用以下Android方法对其进行编码,因为没有编码我会出现错误: public String URLsafe(String text){
14 2024-02-05
编程技术问答社区
PHP-Openssl_decrypt错误:最终块长度错误(AES 256 CBC模式加密/解密)。
这是我的代码: function decrypt($code) { $key = '3552ef55ecdf04324..'; // 64 bytes length $iv = 'd20818af907b59c3b15d258dd3969770'; // 32 bytes length $key = hash("sha256", $key,true); // 32 bytes length $iv = md5($iv,true); // 16 bytes length echo strlen(base64_decode($code)); // 80 bytes //return openssl_decrypt(base64_decode($code), 'aes-256-cbc', $key, 0 ,$iv); // return false $output = openssl_decrypt(base64_decode(
40 2024-02-05
编程技术问答社区
使用openssl_public_decrypt发行解密Alexa请求签名
我正在实施 5)base64-decode在请求上签名标头值,以获取加密的签名. 6)使用从签名证书中提取的公共密钥解密加密的签名来产生主张的哈希值. 我设法从PEM编码的X.509证书中提取公共密钥: $publicKey = openssl_pkey_get_public($pem); $keyData = openssl_pkey_get_details($publicKey); 返回我的公钥.然后,我试图像这样解密签名: openssl_public_decrypt(base64_decode($this->signature), $decryptedSignature, $keyData['key']); 应该将请求正文的sha1哈希与实际请求主体进行比较,但是我从$decryptedSignature中回来的东西似乎不是sha1 hash.我希望我缺少一些明显的东西,但看不到. 要使事情变得更容易,这是现实生活base64_encode
14 2024-01-22
编程技术问答社区
openssl_encrypt和AES256
也许有人知道PHP 如何 回声"测试" | OpenSSL ENC -E -AES -256 -CBC -K 123456 -A -MD MD5 我会尝试 $iv = openssl_random_pseudo_bytes(16); $data = base64_encode(openssl_encrypt('TEST', 'aes-256-cbc', $password, OPENSSL_RAW_DATA, $iv)); 但不是成功.. 解决方案 有趣的是,就像 https://linux.die.die.net/man/1/enc ,我的本地openssl安装列表'-md'(无参数)作为OpenSSL ENC的选项 - 但似乎并没有解释其用途. 更多的挖掘,我发现在SO密码学网站上这. 但是,在尝试编写实施过程之前,由于OpenSSL的实现有些深奥,因此引发了一个问题,即是否需要在您的实施中具体支持这一点?如果您仅需要一种在网站外加密/解密数据的
28 2024-01-19
编程技术问答社区
PHP和C#AES256加密 - >解密
我想在PHP中加密文本并在C#中进行解密,但我不能. 这是我的php代码: define('AES_256_ECB', 'aes-256-ecb'); $encryption_key = "SomeSimpleTest"; $data = "Test123"; $encryptedData = openssl_encrypt($data, AES_256_ECB, $encryption_key, 0); ..这是我的C#代码: (aesencryption.cs类) using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Security.Cryptography; namespace AESCrypto { class AESEncryption
22 2024-01-19
编程技术问答社区
将Php open_ssl_decrypt AES 256 CBC实现为CryptoJS
我尝试在reactjs(不是nodejs)中制定以下代码,但这在JS. 中不起作用. PHP中的原始代码正常工作: function decryptOpensslDigestSHA256Sum($data) { $key = hash('sha256', 'Nootric2703202'); //My password has 14 characters $method = 'AES-256-CBC'; $data = base64_decode($data); $iv_size = openssl_cipher_iv_length($method); $salt_header = substr($data, 0, $iv_size); if (substr($salt_header, 0, 8) != "Salted__") {
40 2024-01-19
编程技术问答社区
用openssl代替mcrypt在PHP中解密AES-256-CFB
以下功能正确地解密了php5中的数据 function decrypt_mcrypt($key, $str) { $str = base64_decode($str); $iv = substr($str, 0, 16); $str = substr($str, 16); return mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $str, MCRYPT_MODE_CFB, $iv); } 我尝试使用openssl而不是mcrypt(在php7中),但在输出上有垃圾. function decrypt_openssl($key, $str) { $str = base64_decode($str); $iv = substr($str, 0, 16); $str = substr($str, 16); return openssl_decrypt($str, 'AES-256-CFB', $key, OP
20 2024-01-19
编程技术问答社区
使用与OpenSSL命令行兼容的AES-256-CTR来创建大型文件OPENSL OPESSL加密的PHP代码
我正在尝试创建一个PHP方法来复制OpenSSL命令行函数,以便我可以使用PHP进行加密,然后使用命令行解密. 我创建了用于考虑内存性能的PHP方法,用于加密文件,并通过加密零件上的文件来限制问题: $salt= random_bytes(8); $saltPrefix = "Salted__" . $salt; $keyIV= EVP_BytesToKey($salt, file_get_contents('my.key')); $key = substr($keyIV, 0, 32); $iv= substr($keyIV, 32, openssl_cipher_iv_length('AES-256-CTR')); $original = file_get_contents('confidential.txt'); $FILE_ENCRYPTION_BLOCKS = 10000; if ($fpOut = fopen('php-encrypted.bin', 'w'))
28 2024-01-19
编程技术问答社区
如何实现php';iOS Objective-C中的openssl_encrypt()方法?
我想在 iOS Objection-C 中实现PHP的openssl_encrypt()方法.因此,我尝试了此代码: #import #import - (void)viewDidLoad { [super viewDidLoad]; NSData *dataIn = [@"123456" dataUsingEncoding:NSISOLatin1StringEncoding]; NSString *key = @"ygXa6pBJOWSAXXX/J6POVTjvJpMIiPAMQiTMjBrcOGw="; NSData *decodedKeyData = [[NSData alloc] initWithBase64EncodedString:key options:0]; uint
18 2024-01-19
编程技术问答社区
使用openSSL加密PHP中的(大)文件
我正在尝试使用AES在PHP中加密(大)文件,并研究了使用McRypt和OpenSSL,问题是我到目前为止发现的所有解决方案,并且我试图加密的文件都会触发PHP的最大内存限制(不幸的是无法设置更高),我该如何实现? 解决方案 您可以使用MCRYPT使用CBC加密,然后一次加密数据段.确保该段为X倍用过的密码的块大小(例如AES的16个字节).加密该段并占据生成的密文的最后一个块,并将其用作下一个段的IV.最终部分应为PKCS#7填充(其中有很多示例,包括mcrypt_encrypt注释). 通过将片段链接在一起,您可以与单个加密无法区分(使用此信息测试您的代码).使用 ciphertext AS IV是相同的.要查看其工作原理,请查看CBC加密方法: 编辑:如果可能的话,您应该使用OpenSSL等效功能.这不是(井)记录的,但是您应该能够使用 Scott提到的评论中的链接中的代码.请注意,您应该首先在没有填充的情况下执行所有操作,然后使用填充. 进行最终部分 其他
28 2024-01-19
编程技术问答社区
如何在PHP中使用OpenSSL对明文进行AES-256 CBC加密?
进入数据库之前,我正在尝试加密敏感用户数据,例如我的PHP供电网站中的个人消息.我在互联网上进行了一些研究,发现了一些要记住的重要事情: 永远不要使用McRypt,它是放弃软件. AES基于Rijndael算法,到目前为止一直没有破裂. NSA也推荐了 AES并在美国政府数据加密中使用,但是由于NSA建议使用它,因此他们有可能轻松偷偷偷偷浏览我的用户数据. Blowfish也没有破裂,但缓慢而不流行. 所以,我决定先尝试使用AES-256 CBC尝试一下.但是我仍然不确定我是否不应该考虑一个更好的选择.因此,欢迎任何建议. 我的主要问题是,如何将数据加密在PHP中?在PHP文档中,我没有找到有关此的好手册.实施它的正确方法是什么? 任何帮助都得到了极大的赞赏. 解决方案 AES-256(OPENSL实现) 你很幸运. openssl扩展程序具有一些非常易于使用的AES-256方法.您需要采取的步骤基本上是... 生成一
18 2024-01-19
编程技术问答社区
VB.NET中的AES加密字符串
我在PGCrypto中有问题解密,该数据先前已在PHP应用程序中进行了加密. 我尝试了3种类型的加密: 1)McRypt -Rijndael 128 CBC 2)McRypt -Rijndael 256 CBC 3)openssl_encrypt-AES-256-CBC 所有内容在PHP中被加密加密,但是在PGCRYPTO中,我可以使用相同的密钥解密,而IV仅1)McRypt -Rijndael 128 CBC 这是PHP部分的示例代码:
8 2024-01-19
编程技术问答社区
原生PHP 5.6 OpenSSL Composer.phar在Windows上启用加密功能失败
我在Windows机器上有PHP 5.6本机的问题.当我尝试运行作曲家更新时,我会遇到此错误(PHP Composer.phar Update): [Composer\Downloader\TransportException] The "https://packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol Failed to enable crypto failed to open stream: operation failed 加载了OpenSSL扩展.我已经下载了此文件http://curl.haxx.se/ca/cacert.pem并将其保存到我的计算机上的
22 2023-12-08
编程技术问答社区