Tag: mcrypt

找不到mcrypt =>调用未定义的函数Laravel \ mcrypt_create_iv()

试图build立Laravel并不断受到这个错误的打击。 我通过brew安装了mcrypt,位于/ usr / local / Cellar。 有什么想法吗? ..它不显示在terminal命令php -m,如果这很重要。 我正在使用mac本地web服务器运行Mountaion Lion。

在OSX Mountain Lion上安装PHP的mcrypt扩展

对于潜在的n00b问题提前道歉,我试图在我的OSX Mountain Lion机器上安装PHP的mcrypt扩展。 terminal中的以下步骤是我到目前为止完成我的PHP安装 cd /path/to/downloaded/php-5.3.21/ext/mcrypt/ /usr/bin/phpize ./configure cd /path/to/downloaded/php-5.3.21 ./configure –with-config-file-path=/private/etc/php.ini –with-apxs2=/usr/sbin/apxs make sudo make install 这似乎工作正常,安装PHP 5.3.21罚款。 我已经完成了 sudo nano /private/etc/php.ini 并包括在内 extension=mcrypt.so 随着Apache重新启动,phpinfo()不显示mcrypt扩展加载。 然后,我试图在php.ini中指定extension_dir,再次没有运气。 我已经做好了 locate mcrypt.so /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so /usr/local/Cellar/php53-mcrypt/5.3.18/mcrypt.so 并尝试两个目录作为extension_dir,没有运气。 经过多次Googlesearch之后,我也尝试了以下方法 ./configure –with-config-file-path=/private/etc/php.ini –with-apxs2=/usr/sbin/apxs –with-mcrypt 这似乎工作确定,但随后“make”,它返回 ext/mcrypt/mcrypt.o: No such file or directory ext/mcrypt/mcrypt_filter.o: No such file or directory 再次,没有成功。 我究竟做错了什么? 好像mcrypt.so的物理编译没有发生,或者是编译不正确,因为我怀疑有另一个mcrypt.sofind下find? 任何人请帮忙? […]

将银行信息存储在数据库中的最佳实践

答案摘要: 不要这样做。 法律和财务影响将是灾难性的。 寻找既定的第三方解决scheme或聘请专家。 切勿将任何敏感信息存储在共享服务器上。 研究最适合的encryption机制。 我为客户build立一个网站,需要将客户的银行信息(路由+帐号)存储在分贝直接存款。 这里有一些细节: 1)网站最初将在一个共享的托pipe服务器上(这是我首先关心的问题)。 2)我正在使用PHP / MySQL。 3)我打算使用mcrypt。 4)密钥将位于Web根目录之外。 请让我知道你的想法。 如果可能的话,请给我提供一些关于ACH处理的资源。 谢谢! 编辑:我期待这样的反应,因为我害怕的安全问题也在那里。 我已经expression了我的顾客的关切,这将是一个很好的支持。 编辑2:将离开这一点。 对这个想法一开始并不满意! 将调查PayPal的大众支付API。

致命错误:调用未定义函数mcrypt_encrypt()

注意: MCrypt支持依赖的库尚未更新,MCrypt不再被认为是可行或安全的数据encryption方法。 更重要的是,MCrypt已经在PHP 5中被弃用,并且完全在PHP 7中被移除。如果你有任何运行MCrypt的代码,你应该重构它以使用更现代的encryption库。 有没有人知道为什么这个错误消息:( (Call to undefined function mcrypt_encrypt() )显示时,我运行下面的代码? 我错过了一些步骤,也许PHP的任何设置,我必须做这个代码才能工作? $key = 'password to (en/de)crypt'; $string = 'string to be encrypted'; $test = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key)));

跨平台(PHP到C#.NET)encryption/解密与Rijndael

我目前有解密php密码encryption消息的一些问题。 php代码如下: <?php //$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $iv = "45287112549354892144548565456541"; $key = "anjueolkdiwpoida"; $text = "This is my encrypted message"; $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_CBC, $iv); $crypttext = urlencode($crypttext); $crypttext64=base64_encode($crypttext); print($crypttext64) . "\n<br/>"; ?> encryption的消息然后被发送到ASP.NET平台(C#)。 但是,我有保留解密顺序(base64解码到urldecode)的问题。 我在ASP.NET中的代码如下(iv和key与php中的一样): public string Decode(string str) { byte[] decbuff = Convert.FromBase64String(str); return System.Text.Encoding.UTF8.GetString(decbuff); } static public String DecryptRJ256(string cypher, […]

JavaScriptencryption和PHP解密

我正在用JavaScriptencryption我的用户密码,如下所示: var encryptedPassword = CryptoJS.AES.encrypt(password, "Secret Passphrase"); 它工作正常,但现在我试图解密在服务器端PHP这样的: $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND); $decryptPassword = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, "Secret Passphrase", base64_decode($password), MCRYPT_MODE_CBC, $iv); 它根本不起作用,解密的密码string看起来很奇怪: string(64) "> OX2MS 댗v <$ ʕ i ̄ _ P \ կ= _6( m ,4WT7 a" 以下是有用的评论之后,我的代码在JavaScript中的当前状态: var encryptedPassword = CryptoJS.AES.encrypt(password, "Secret Passphrase"); var ivHex = encryptedPassword.iv.toString(); var ivSize = encryptedPassword.algorithm.ivSize; // same […]

用OpenSSLreplaceMcrypt

目前我们在我们的系统上实现了一个mcrypt实现,以在我们的PHP应用程序中隐藏一些合理的数据。 现在我们有一个新的要求,就是我们必须把crypt模块改成openssl。 另一件重要的事情就是我们正在使用密码河豚和模式ecb。 于是我开始testing什么是差异,以及如何使用openssl解密mcryptencryption的string。 我使用了标准的PHP函数: mcrypt_encrypt与openssl_encrypt mcrypt_decrypt与openssl_decrypt 两种方法都提供了不同的结果。 第二件事是在给定的密码(blowfish)和模式(ecb)中都需要不同的IV长度(openssl = 0和mcrypt = 56)。 有没有人知道我可以轻松地更改模块,而不需要大量的迁移工作? 提前致谢! 更新: 这是我testing的代码: <?php function say($message){ if(!is_string($message)){ if(!isset($_SERVER["HTTP_USER_AGENT"])) echo "<pre>"; echo var_export($message, true) . ((!isset($_SERVER["HTTP_USER_AGENT"]) ? "\n" : "<br />")); if(!isset($_SERVER["HTTP_USER_AGENT"])) echo "</pre>"; }else{ echo $message . ((!isset($_SERVER["HTTP_USER_AGENT"]) ? "\n" : "<br />")); } } say("= Begin raw encryption"); $key = […]

将我的encryption库从Mcrypt升级到OpenSSL

我正在使用下面通常引用的库进行encryption。 我想从Mcrypt升级到OpenSSL,这样我不再使用废弃的库。 我试图找出这是甚至可能的。 我已经做了一些研究,但是我发现有矛盾的信息: 这篇文章说,使用Mcryptencryption的OpenSSL来解密数据是不可能的。 https://stackoverflow.com/a/19748494/5834657 不过,这个post说可以使用填充。 看来,我的function使用填充。 这是需要使这项工作的正确types的填充? https://stackoverflow.com/a/31614770/5834657 <?php namespace Utilities\Encryption; /** * A class to handle secure encryption and decryption of arbitrary data * * Note that this is not just straight encryption. It also has a few other * features in it to make the encrypted data far more secure. Note […]

用Mcryptencryption/解密文件

试图编写一些函数来encryption或解密一个文件,并使用这里find的类来尝试完成这个工作: http://www.itnewb.com/v/PHP-Encryption-Decryption-Using-the-MCrypt-Library-libmcrypt 下面的encryption函数似乎可以工作,因为它看起来是encryption文件并将其放置在预期的目录中。 我试图解密文件现在,它只是与消息“无法完成解密”(这是编码在那里…)在PHP错误日志没有什么,所以我不知道为什么它失败,但是因为mcrypt对我来说是全新的,所以我更倾向于相信我在这里做错了什么。 这里是function: //ENCRYPT FILE function encryptFile() { global $cryptastic; $pass = PGPPASS; $salt = PGPSALT; $key = $cryptastic->pbkdf2($pass, $salt, 1000, 32) or die("Failed to generate secret key."); if ($handle = opendir(PATH.'/ftpd')) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $newfile = PATH.'/encrypted/'.$file.'.txt'; $msg […]

准备在PHP 7.2中删除Mcrypt

所以随着时间的推移,mcrypt将在PHP 7.2中。 当然还有一个select:openssl。 我发现很难从mcrypt切换到openssl,使用AES 256 CBC和保留IV。 我对密码学有点新鲜,所以我并不是很了解所有的东西,但我理解这些基础知识。 假设我有以下代码 function encrypt($masterPassword, $data) { $keySize = mcrypt_get_key_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $iv = mcrypt_create_iv($ivSize, MCRYPT_DEV_URANDOM); $key = mb_substr(hash('SHA256', $masterPassword), 0, $keySize); $encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_CBC, $iv); return base64_encode($iv . $encrypted); } function decrypt($masterPassword, $base64) { $keySize = mcrypt_get_key_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $key […]