问题标签 [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.
php - mcrypt 加密将 s 束 '%00' 添加到字符串末尾
使用 OAuth 并使用以下函数加密密钥,该函数使用我们称之为“foo”的字符串(实际上是 OAuth 令牌)
当我使用反函数解密它时,我最终得到:
功能:
结果:
foo%00%00%00%00%00%00%00%00%00%00%00%00%00%00
编辑:
再看一点,我意识到它实际上是 %00 的 URL 编码,这意味着我的字符串以某种方式被空字符填充?所以我目前正在使用 trim() 来摆脱它们,但我想了解为什么会这样。
php - 解密用aspEncrypt加密的php中的字符串
我需要与使用 aspEncrypt from persits 的 asp 平台进行通信。谁能提供一个示例,如何使用 PHP 和 mcrypt 解码通过 aspEncrypt 例程创建的字符串。
此链接提供了 aspEncrypt 的示例页面:http: //support.persits.com/encrypt/demo_text.asp
因此,如果我使用文本“Test”和键“test”,它会提供一个 base64 编码的字符串。我需要一个 php 示例,使用键“test”将此编码字符串转换回文本“Test”。
php - Mcrypt 和 Drupal 安装
MCrypt 是 Drupal 安装的标准部分吗?我可以假设它安装在 Drupal 所在的任何地方吗?
php - 在 PHP 中用于加密/解密的 Mcrypt 的替代品?
我正在为需要进行加密和解密的 Drupal 模块提供一些代码。我不认为我可以假设 Mcrypt 模块安装在 Drupal 系统上。我可以使用什么作为替代加密机制?
这不是金融的东西,所以我不需要复杂的密码学,但更好就是更好......
php - 使用 mcrypt、PHP 和 MySQL 进行加密
我正在尝试使用 mcrypt 在我的数据库中存储密码。首先,它有效,但仅在某些时候有效。
这是我的加密代码:
然后将 $username、$iv 和 $password 上传到 MySQL 数据库。
这是我的解密代码:
从数据库中检索 $username、$iv 和 $encpass(加密密码),并使用用户名重新创建密钥。
这有效,但仅在某些时候有效。我不知道为什么。我唯一的假设是数据库不能接受加密产生的某些字符,例如引号。
任何帮助将不胜感激!
php - 通过 URL 参数发送 mcrypt 加密的字符串 - 解码的文本被破坏
我在搞乱一个简单的授权方案。我认为没有 SSL 或其他 HTTP 身份验证的最简单方法是共享密钥加密。从PHP手册改编一个简单的例子,我想出了以下内容:
接收此请求的页面 (temp2.php) 如下所示:
这非常接近,但它没有正确解码 - 它回响
boggles the invisible monkey will rule t—;eôügJë
我不确定挂断是什么,我尝试了 urlencode/urldecode 和 htmlentities,认为请求中可能有一个字符被破坏,但没有区别。
还有什么我想念的吗?也许填充?
谢谢
php - 不同 PHP mcrypt 算法的速度
嘿伙计们。今天我在测试 php mcrypt 算法。
我运行测试来检查不同 mcrypt 算法的速度。
测试算法: Cast-128、Gost、Rijndael-128、Twofish、Cast-256、Loki97、Rijndael-192、Saferplus、Blowfish-compat、Des、Rijndael-256、Serpent、Xtea、Blowfish、Rc2、Tripledes。
测试在 ECB 模式下运行(您也可以使用:CBC、CFB、CTR、ECB、NCFB、NOFB、OFB)。
我加密了一个简单的字符串:“这是一个测试”。以下结果为 1000 次迭代(结果以秒为单位)。
河豚0.5217170715332
河豚兼容0.46304702758789
铸造 128 0.19502091407776
铸造 256 0.28649806976318
DES 0.45267295837402
GOST 0.19383502006531
LOKI97 0.27537798881531
RC2 0.44201898574829
瑞恩代尔128 0.2560601234436
瑞恩代尔192 0.33414602279663
瑞恩代尔256 0.42553782463074
更安全的 0.32848501205444
蛇0.391037940979
三倍数0.65123796463013
双鱼0.27349305152893
XTEA 0.37829685211182
当然,当我们谈论安全性时,处理时间并不是最重要的。我只是想分享我的结果。
您使用的是什么 mcrypt 算法和模式,为什么? 我知道这取决于情况、安全级别等,但请举一些例子。
php - mcrypt_generic_init:iv参数的含义
我正在使用 php mcrypt 库审查部分代码,以使用 Blowfish 密码加密一些二进制数据。基本上它在MCRYPT_MODE_CBC
模式下创建一个河豚描述符,然后调用参数始终等于“12345678”的mcrypt_generic_init
函数。iv
简化代码提取:
mcrypt-generic-init函数的文档说明如下:
IV 通常应该具有算法块大小的大小,但您必须通过调用 mcrypt_enc_get_iv_size() 来获取大小。欧洲央行忽略了IV。IV 必须存在于 CFB、CBC、STREAM、nOFB 和 OFB 模式中。它需要是随机的和唯一的(但不是秘密的)。必须使用相同的 IV 进行加密/解密。如果您不想使用它,则应将其设置为零,但不建议这样做。
我的问题是:
这个参数是干什么用的?使用这样的iv
参数值是一个弱点吗?我不确定,因为据说它不一定是秘密的,所以攻击者可以通过某种方式获得它。如果它不是一个弱点并且这个参数的值是完全可以的,那么为什么不建议将它设置为零呢?硬编码一些伪随机字符串而不是“12345678”会更好吗?
c - Mcrypt 库将结果写入文件
我正在尝试将加密数据写入文件。但是,当将其读回程序并尝试对其进行解密时,我只会将垃圾回收。如果不将其写入文件,它似乎可以工作..我做错了什么?
这是代码:
php - 如何覆盖 24 个字符的 mcrypt 盐限制?
我想在 mcrypt 中使用超过 24 个字符的盐。
但是,如果我使 $salt 大于 24 个字符,它会引发此警告并在 24 个字符处使用截断的盐:
警告:mcrypt_encrypt() [function.mcrypt-encrypt]:密钥的大小对于这个算法来说太大了
有没有办法解决这个问题?