问题标签 [mcrypt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
string - 如何处理字符串中的特殊字符
我有一个创建编码值的 php 脚本,例如:
然后我需要在 vb.net 应用程序中对此进行解码问题是上面的值可以包含任何字符。而 VB.net 无法处理它:
那么有什么建议可以处理这个值吗?
php - 使用 PHP 加密和解密密码的最佳方法?
可能重复:
PHP 2 路加密:我需要存储可以检索的密码
我计划在我的网站上为我的用户存储外国帐户信息,即 rapidshare 用户名和密码等...我想保证信息的安全,但我知道如果我对他们的信息进行哈希处理,我将无法检索它以供以后使用.
Base64 是可解密的,所以直接使用它是没有意义的。我的想法是打乱用户并在它以这种方式进行base64化之前和之后通过,即使在你解密它之后,如果你尝试解密,你会得到一些看起来很有趣的文本。是否有一个接受值的 php 函数,这些值将对字符串进行唯一的加扰,并在稍后重新输入值时对其进行解扰?
有什么建议么?
php - PHP:mcrypt 将字符串开头变成垃圾
我需要在服务器端进行中到强加密,所以我想我会在 PHP 中使用 mcrypt。如果我使用原始字符串开头下面的函数,解密后会变成二进制垃圾。(这不是附加额外垃圾的常见问题,而是我的字符串被更改。)根据文档, mcrypt_encrypt() 应该填充足够的字符以匹配所选算法的块大小,但我怀疑它不起作用。
但是,如果我手动将它填充到 Rijndael 的 128 位(16 字节)块大小,它也不起作用。我可以让它工作的唯一方法是预先添加一些足够长的字符串以(可能)覆盖垃圾块,并在该字符串和我的数据之间添加一个已知的前缀,如“DATA#”。解密后,该块已部分损坏,但我的前缀和之后的所有数据都已正确解密。
我的功能有什么问题?为什么我必须像这样为我的数据添加前缀(我认为这是一种肮脏的解决方法,所以我想修复它)?
存储加密数据不是问题;加密后立即解密而不将其存储到数据库会导致相同的错误。
php - 如何使 MCrypt 和 PHP 在 CentOS 上协同工作
我已经在 CentOS 上安装了 mcrypt(通过 yum),但是当我尝试在 A) 中进行 dl() 调用时,我在 B) 中收到了消息。
- A) dl( mcrypt.so ) or die('无法加载 Mcrypt 模块 ['. $prefix . 'mcrypt.' . PHP_SHLIB_SUFFIX .']');
- B) 无法加载 Mcrypt 模块 [ mcrypt.so ]
现在,我知道 yum 已经安装了 mcrypt,但我不知道它放的位置。我能找出来吗?更重要的是,我怎样才能让最新安装的 mcrypt 与我的 PHP 系统一起工作。许多线程建议您重新编译 PHP(例如: http://forums.theplanet.com/index.php?showtopic= 26527),但我不知道如何使用 CentOS 执行此操作。我也玩过我的图书馆路径无济于事。任何帮助将不胜感激。
设置
- CentOS: Linux localhost.localdomain 2.6.18-128.1.6.el5 #1 SMP Wed Apr 1 09:10:25 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
- mcrypt: mcrypt-2.6.8-1.el5.x86_64
- PHP: php-5.1.6-23.2.el5_3.x86_64
谢谢蒂姆
_
php - 在 Mac OS X 10.5.8 上为 PHP 安装 Mcrypt 扩展
如何安装 mcrypt?我将 Leopard 10.5.8 与 PHP5 一起使用。
php - Mcrypt 已安装但未显示在 PHPINFO
我想我设法安装了 mcrypt lib。文件就位,但看起来库根本没有运行。
尝试添加:
到 PHP.INI; 不好。有什么帮助吗?
php - 从 PHP 5.2.8 源代码在 Mac OSX (10.5) 上安装 mcrypt 测试失败,我该怎么办?
所以我试图在我的本地安装 mcrypt 进行开发。我以前从未从源代码编译过,所以请多多包涵,但我所做的不足是:
- 下载并安装 libmcrypt-2.5.8(来自源代码)
- 从http://www.viames.it/mac-os-x.html下载已编译的 mcrypt.so (注意:编译后的 gd.so 似乎工作正常)
- 更新 php.ini(包括相关行)
- 重启网络共享(apache);页面无法加载
- 删除 extension=mcrypt.so 行并重新启动 apache,页面再次加载)
- 从 php.net 下载 PHP 5.2.8 源码,并尝试从 /ext/mcrypt 配置和安装 mcrypt
此时,当我运行 make test 时,事情失败了。
以防万一,我继续执行 sudo make install,更新 php.ini,并尝试加载页面。页面加载正常。我去了我的 phpinfo 页面,但那里根本没有显示 mcrypt。我为此来回走了几次,但仍然没有发生任何事情。
我对现在该做什么感到困惑,因为我不确定当 make 测试失败时我应该做什么,我怀疑这就是为什么我的 mcrypt 根本不工作(即使 .so 文件在那儿)。我在下面包含了 make 测试失败的摘要结果。
任何帮助将不胜感激 :)
php - 如何在 PHP 中进行 AES256 解密?
我有一段加密的文本需要解密。它使用 AES-256-CBC 加密。我有加密的文本、密钥和 iv。但是,无论我尝试什么,我似乎都无法让它发挥作用。
互联网建议 mcrypt 的 Rijndael 密码应该能够做到这一点,所以这就是我现在所拥有的:
就目前而言,我收到 2 个警告,输出是乱码:
任何帮助,将不胜感激。
php - 如何让 Ruby AES-256-CBC 和 PHP MCRYPT_RIJNDAEL_128 一起玩得很好
我正在生成要从 Ruby 堆栈发送到 PHP 堆栈的数据。我在 Ruby 端使用 OpenSSL::Cipher 库和 PHP 中的“mcrypt”库。当我在 Ruby 中使用“aes-256-cbc”(256 位块大小)加密时,我需要在 PHP 中使用 MCRYPT_RIJNDAEL_128(128 位块大小)来解密它。我怀疑 Ruby 代码被破坏了,因为 cipher.iv_len 是 16;我认为应该是 32:
所以这是我的测试。在 Ruby 方面,首先我生成密钥和 iv:
然后我使用这些密钥进行加密:
这是PHP解密:
我更喜欢使用更长的块大小。显然我误解了 API。帮助?