PHP中的Blowfish加密

2023-12-27

我正在为我的应用程序和网站编写加密,但我不知道如何正确加密 php 中的字符串。这段代码已经完成解密:

function decrypt_blowfish($data,$key){
$iv=pack("H*" , substr($data,0,16));
$key=pack("H*" , $key);
$x =pack("H*" , substr($data,16)); 
$res = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $x , MCRYPT_MODE_CBC, $iv);
return $res;
}

我尝试过简单的:

function encrypt_blowfish($data,$key){
    $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_CBC);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $crypttext = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $data, MCRYPT_MODE_CBC, $iv);
    return $crypttext;
}

但它返回奇怪的 ASCI 字符而不是正确的河豚代码。有人可以解释一下为什么吗?我做错了什么? 提前致谢

C.H.


function decrypt_blowfish($data,$key){
    $iv=pack("H*" , substr($data,0,16));
    $x =pack("H*" , substr($data,16)); 
    $res = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $x , MCRYPT_MODE_CBC, $iv);
    return $res;
}

function encrypt_blowfish($data,$key){
    $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_CBC);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    $crypttext = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $data, MCRYPT_MODE_CBC, $iv);
    return bin2hex($iv . $crypttext);
}

$string = encrypt_blowfish('hello world', 'abc123');
echo 'ENCRYPTED: ' . $string . "\n";
echo 'DECRYPTED: ' . decrypt_blowfish($string, 'abc123');

尝试一下。在解密函数中,您将从十六进制转换为二进制,因此需要传递十六进制值。您的加密函数正在输出二进制,因此您需要通过上述更改将其转换为十六进制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP中的Blowfish加密 的相关文章

  • SQL 未插入到 Yii 中具有关系的表中

    我正在尝试创建一个用户 但所有值都没有插入到数据库中 Systems user 表与partys 表有关系 因为party id 是sytems user 的主键 没有插入任何内容 甚至没有错误 它只是返回到 创建 页面 这是我的架构 Ta
  • 关于如何在 PHPUnit 中使用 setUp() 和tearDown() 有真实的例子吗?

    Methods setUp and tearDown 在每次测试之前和之后调用 但实际上 有没有任何真实的例子说明我为什么需要这个 检查其他人的测试 我总是看到类似的东西 public function setUp this gt test
  • 使用 htaccess 文件重定向[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 Edit 我想重定向一个网址 to www example com location sydney from www example com rss
  • jQuery 不断 ping 以获得 Ajax 响应

    如何使用 jQuery 不断运行 PHP 脚本并每秒获取响应 并将鼠标上的少量数据发送到同一脚本 我真的需要添加一些随机扩展才能让这样一个简单的计时器工作吗 迭代是人类的 递归是神圣的 L 彼得 多伊奇 http www devtopics
  • Drupal 模板/主题资源或建议?

    我有兴趣为我正在开发的 Drupal 网站创建自定义主题 我是 Drupal 的新手 但是我在处理构建主题 CSS PHP HTML 所需的基本概念方面拥有相当多的经验 所以 我的问题是 我从哪里开始 有创建 Drupal 主题的规范指南吗
  • php 错误地将字符串中的 ¬ 转换为 Ø

    我需要在 PHP 中组成一个简单的字符串 它是要发布到另一个站点的数据字符串 问题是其中一个字段是 notify url 当我使用该字段时 PHP 将其前面的 和 not 部分表示逻辑运算符 AND NOT 并将其转换为 字符 string
  • file_get_contents 获取 php 内容!我需要 html 中的源代码

    我正在尝试使用 file get contents 获取 php 文件的 html 内容 但我无法管理它 无论我做什么 它都需要 php 内容 所以我希望您理解并可以帮助我 脚本的代码
  • PHP:会话.auto_start

    我在同一台服务器上有两个项目 它们的设置在 session auto start 中冲突 相关post https stackoverflow com questions 1378324 php setting variables in i
  • 奇怪的 500 内部服务器错误(firebug、php、display_errors、ajax)

    在一页上我正在进行多个 AJAX 调用 所有调用均成功返回响应 但最后一个调用 与其他 ajax 调用无关 返回 500 内部服务器错误作为响应代码 如 firebug 所示 但是 尽管存在错误代码 该 AJAX 调用仍会返回正确的内容 令
  • PHP 中的致命错误是什么意思?

    我收到以下错误 致命错误 未捕获错误 调用未定义的函数 var dumb 这是什么意思 致命错误是什么意思 这是一个导致脚本中止并立即退出的错误 致命错误之后的所有语句都不会被执行
  • 如何从 PHP 访问表单的“名称”变量

    我正在尝试创建一个 BMI 计算器 这应该允许人们使用公制或英制测量单位 我意识到我可以使用隐藏标签来解决我的问题 但这之前曾困扰过我 所以我想我会问 我可以使用 POST variableName 查找提交的变量名字段值 但是 我不知道或
  • 如何在 PHP 中执行 shell 脚本?

    我有一个脚本 var www myscript sh它创建文件夹并运行命令svn update对于我的项目 我需要通过在浏览器中的 PHP 文件中调用它来执行此脚本 即本地主机 test php 我尝试使用函数shell exec and
  • 在 WordPress 中调用自定义 php 模板中的函数

    我想调用我在 WordPress 中编写的另一个 php 类中的函数 但是我对语法感到困惑 例如要获取页面上的标题 您只需调用 get header 等等 但是我如何调用特定类中的函数 例如 在index php中 我想调用一个名为this
  • 解决错误 413 请求实体太大

    我正在从事的项目允许我们的员工将大文件上传到我们的共享主机并获取下载链接 问题是我们的托管拒绝更改共享托管的 LimitRequestBody 还有其他解决方案可以解决 LimitRequestBody 或任何其他方法来完成这项工作吗 有两
  • 如何复制具有 MySQL 中保留的键和其他结构特征的表?

    如何复制保留键和其他结构特征的表 包括主键 外键和索引 这可以通过单个 MySQL 查询来完成吗 我正在使用 create table newtable as select 但此方法会使所有键和索引丢失 无法使用单个查询来从另一个表复制一个
  • 访问php数组内部[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有一个像这样的数组打印 array 2 systems gt array 5 1 gt string 1 1111 2
  • 如何反转散列和加盐密码? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 vBulletin 登录使用它来交叉引用数据库 md5 md5 pass salt 我如何制作一个 PHP 脚本 以便每个密码
  • 使用 Laravel Intervention 库缓存动态图像不起作用

    我目前正在使用 Laravel 5 并利用干预图像集成 http image intervention io http image intervention io 我动态地使用它 因此图像具有如下 URL http example org
  • 基于 ajax 的弹出窗口中的 Mathjax + CKEditor 4 + CKEditor

    我已经配置了 CKEditor 4 并且我的页面上有以下内容 我的页面中有一个 CKEditor 设置值的两个选项 这两个选项本身分别选项两个基于 ajax 的弹出窗口 这些基于 ajax 的弹出窗口包含 CKEditor 现在我有以下问题
  • 使用 Ajax 和 PHP 上传图像

    我想将图像上传到我的服务器 并控制 HTML 代码中的 PHP 回显 为此 我想使用 jQuery Ajax 但我不知道如何使用 Ajax 将图像发送到 PHP 这是一个大学项目 所以我不能使用任何类型的插件 我的实际代码 HTML

随机推荐

  • 从 get_the_post_thumbnail($post->ID) 获取图片源;

    我必须从下面的代码中获取图像源 thumburl get the post thumbnail post gt ID 我在这里得到 img width 325 height 202 src http localhost TantraProj
  • 将因子转换为整数,同时保持因子级别排序

    我有一个 R 数据框 其中一列是一个因子 其级别具有隐式排序 如何将因子水平转换为特定整数通过以下方式 强烈不同意 gt 1 有点不同意 gt 2 中立 gt 3 有点同意 gt 4 强烈同意 gt 5 例如 这是我的数据框 agree l
  • 调试地图插入?

    我在向地图中插入条目时遇到问题 include
  • 循环范围与循环数组之间的性能差异

    循环遍历某个范围与将相同范围分配给数组并循环数组时 性能 速度 会有什么差异吗 循环遍历数组比查找范围要快得多 请参阅下面我的测试 Option Explicit Const strRANGE ADDRESS As String A1 A1
  • 如何禁用触摸 UIBarButtonItem 时出现的灯光?

    我有一个工具栏UIBarButtonItem风格 UIBarButtonItemStylePlain 我想知道如何禁用触摸时出现的灯光 UIButton has showsTouchWhenHighlighted财产 但没有这样的东西UIB
  • C# 如何将不规则日期和时间字符串转换为DateTime?

    我有一个程序可以将不规则的日期和时间字符串转换为系统日期时间 但由于系统无法识别不规则字符串 因此 ParseExact toDateTime和TryParse方法不起作用 程序只需要转换两种类型的日期时间字符串 Thu Dec 9 05
  • 无需复制/粘贴代码即可实现 TObjectList 的排序

    我有一个对节点树中的节点进行排序的过程 虚拟树视图 http www lischke online de index php controls virtual treeview 从 FMM4 报告中提取的所有内存泄漏都存储在 TMemory
  • 颤动的一叠卡片

    我正在尝试创建一堆卡片 相互叠加并偏移 以可视化卡片的多个版本 我尝试过将卡片放入卡片中 但没有找到抵消它们的方法 我也尝试过使用 stack 类 但没有成功 有人知道我怎样才能达到这个效果吗 您使用 Stack 的方向是正确的 您只需要弄
  • 循环遍历列表以创建多个 Excel 文件

    您好 我正在尝试循环遍历列表以创建多个 Excel 文件 不是工作表 我能够在下面的代码中创建单独的数据框 但我想知道是否有人有通过循环列表创建多个 Excel 文件并使用每个公司名称创建多个 Excel 文件的示例 from dateti
  • 向量的模式匹配“case Nil”

    读完这篇文章后post https stackoverflow com a 10199441 409976关于如何使用模式匹配Vector 或任何实现的集合Seq 我在这个集合上测试了模式匹配 scala gt x Vector res38
  • 如何使用python opencv找到图像中黑色物体的中心?

    我在白色背景上查找黑色物体的轮廓时遇到问题 在这里我添加了一个图像的示例 现在我需要找到黑色区域的中心 我使用以下代码 im cv2 imread img plt imshow im gray cv2 cvtColor im cv2 COL
  • symfony 2:命名空间“Acme”不包含任何映射实体

    我正在关注这本书和页面http symfony com doc current book doctrine html http symfony com doc current book doctrine html 在阅读这本书时 我试图处理
  • 数据分析任务 - 自定义分析请求

    是否有任何选项可以为 SSIS 数据分析任务创建自定义配置文件请求 目前 SSIS 数据分析任务下有 5 个标准分析请求 列空比率配置文件请求 列统计资料请求 列长度 分布配置文件请求 列值分布配置文件请求 候选人关键资料请求 我需要添加另
  • 缩短 Angular 7 中的 SCSS 导入路径

    当我创建一个组件时 它嵌套得很深 如果我想导入一个共享的 scss 我必须用很长的路径导入它 例如 import app shared scss 这不会发生在 ts文件 我可以配置tsconfig json paths src src ap
  • 模板继承:没有依赖于模板参数的参数[重复]

    这个问题在这里已经有答案了 我在编译以下代码时遇到了这个错误 经过一些研究并阅读不同情况下的类似错误后 我想出了我需要的解决方案 但我并没有完全理解错误的根本原因和修复方法 template
  • 带有请求内容类型表单的 Http Post 在 Spring MVC 3 中不起作用

    代码片段 RequestMapping method RequestMethod POST headers content type application x www form urlencoded public ModelAndView
  • 捕获量词和量词算术

    首先 我要解释一下 这个问题既不是关于如何捕获组 也不是关于如何使用量词 这是我非常熟悉的正则表达式的两个功能 对于可能熟悉外来引擎中不寻常语法的正则表达式爱好者来说 这更像是一个高级问题 捕获量词 有谁知道正则表达式风格是否允许您捕获量词
  • 如何在 iOS 中实现 XMPP 房间的自动加入

    我想在XMPP群聊中自动加入房间 我从后端服务器创建了所有组 第一次加入房间 但是当我从 XMPP 在应用程序之外 断开连接并返回应用程序内部并重新连接 xmpp 时 我再次需要加入房间 在侧面应用程序中 一名用户已在多个房间中可用 因此无
  • eclipse 中的 java.lang.UnsupportedClassVersionError [重复]

    这个问题在这里已经有答案了 我真的不是一个Java程序员 所以我发布这个问题 在 Eclipse 项目的主类中抛出 java lang UnsupportedClassVersionError 异常 如果我注释掉该类的导入 它就会编译并运行
  • PHP中的Blowfish加密

    我正在为我的应用程序和网站编写加密 但我不知道如何正确加密 php 中的字符串 这段代码已经完成解密 function decrypt blowfish data key iv pack H substr data 0 16 key pac