PHP字符串作为字节数组,哈希hash然后base64编码
- 一、hash函数介绍
- 1、说明
- 2、参数
- 3、返回值
- 二、使用
- 1、前言
- 2、md5()比较
- 3、sha1()比较
- 4、如果要返回 原始二进制呢
- 三、回到标题
- 1、默认转为16进制,再转base64
- 2、先转为二进制,再转base64
- 3、md5()同理
一、hash函数介绍
1、说明
hash ( string $algo , string $data [, bool $raw_output = FALSE ] ) : string
2、参数
参数名 | 参数值 |
---|---|
algo | 要使用的哈希算法,例如:“md5”,“sha256”,“haval160,4” 等。 |
data | 要进行哈希运算的消息 |
raw_output | 设置为 TRUE 输出原始二进制数据, 设置为 FALSE 输出小写 16 进制字符串。 |
3、返回值
如果 raw_output 设置为 TRUE
, 则返回原始二进制数据
表示的信息摘要, 否则返回 16 进制小写字符串格式
表示的信息摘要。
二、使用
1、前言
- hash()的第一个参数有些好像是函数名,那打印的结果是不是一样呢,我们来试一下。
2、md5()比较
- 代码
$string = 123456;
$hashString = hash('md5', $string);
$md5String = md5($string);
echo $hashString . '<br/>' . $md5String;
die;
- 打印
e10adc3949ba59abbe56e057f20f883e
e10adc3949ba59abbe56e057f20f883e
- 结果
返回的是16 进制小写字符串格式
,并且结果一致
3、sha1()比较
- 代码
$string = 123456;
$hashString = hash('sha1', $string);
$sha1String = sha1($string);
echo $hashString . '<br/>' . $sha1String;
die;
- 打印
7c4a8d09ca3762af61e59520943dc26494f8941b
7c4a8d09ca3762af61e59520943dc26494f8941b
- 结果
返回的是16 进制小写字符串格式
,并且结果一致
4、如果要返回 原始二进制呢
hash()的第3
个参数设置为true
(默认为false
);md5(),sha1()的第2
个参数设置为true
(默认为null
)即可
- 代码
$string = 123456;
$hashString = hash('md5', $string, true);
$md5String = md5($string, true);
echo $hashString . '<br/>' . $md5String . '<br/>';$string = 123456;
$hashString = hash('sha1', $string, true);
$sha1String = sha1($string, true);
echo $hashString . '<br/>' . $sha1String;
die;
- 打印
三、回到标题
1、默认转为16进制,再转base64
- 把字符串先sha1(),默认false/null,返回16进制小写,然后base64_encode的结果为:
- 代码
$string = 123456;
echo base64_encode(sha1($string)) . '<br/>';
echo base64_encode(hash('sha1', $string)) . '<br/>';
die;
- 打印
N2M0YThkMDljYTM3NjJhZjYxZTU5NTIwOTQzZGMyNjQ5NGY4OTQxYg==
N2M0YThkMDljYTM3NjJhZjYxZTU5NTIwOTQzZGMyNjQ5NGY4OTQxYg==
2、先转为二进制,再转base64
- 代码
$string = 123456;
echo base64_encode(sha1($string, true)) . '<br/>';
echo base64_encode(hash('sha1', $string, true)) . '<br/>';
die;
- 打印
fEqNCco3Yq9h5ZUglD3CZJT4lBs=
fEqNCco3Yq9h5ZUglD3CZJT4lBs=
3、md5()同理
PHP字符串作为字节数组,哈希hash然后base64编码相关推荐
- C# 16进制与字符串、字节数组之间的转换
在串口通讯过程中,经常要用到 16进制与字符串.字节数组之间的转换 字符串转16进制字节数组 1 private static byte[] strToToHexByte(strin ...
- scala 字符串转换数组_如何在Scala中将十六进制字符串转换为字节数组?
scala 字符串转换数组 Hex String in Scala denotes value in hexadecimal number system i.e. base 16 number sys ...
- c#中将整数转化为字符串_在C#中将字符串转换为字节数组
c#中将整数转化为字符串 Prerequisite: How to declare and use byte[] in C#? 先决条件: 如何在C#中声明和使用byte []? C#中的字符串到字节 ...
- 在C#中将字符串转换为字节数组
本文翻译自:Converting string to byte array in C# I'm converting something from VB into C#. 我正在将某些东西从VB转换为 ...
- JavaScript:实现将 base64 字符串转换为字节数组算法(附完整源码)
JavaScript:实现将 base64 字符串转换为字节数组算法 function base64ToBuffer (b64) {// The base64 encoding uses the fo ...
- 十六进制字符串与字节数组转换工具
1.十六进制字符串转字节数组 public static byte[] hexToBytes(String hex) {hex = hex.length() % 2 != 0 ? "0&qu ...
- 十六进制字符串与字节数组的转换
十六进制字符串与字节数组的转换 十六进制(hex):0-9,A-F组成,不区分大小写,与十进制对应关系:0-9对应0-9,A-F对应10-15 位(bit):java语言中1个bit 用0或1表示 ...
- java下字符串和字节数组转换
原文章地址: java下字符串和字节数组转换 http://blog.sina.com.cn/s/blog_7e8c7d560101lwta.html 1.字节数组转换为字符串 byte[] byBu ...
- 字符串与字节数组及字符数组的转化
字符串与字符数组的相互转化 public static void main(String[] args) {String myString = "hello123"; //创建一个 ...
- c#将字符串转换为数组,在C#中将字符串转换为字节数组
先决条件:如何在C#中声明和使用byte []? C#中的字符串到字节数组的转换 在C#中,可以使用Encoding将字符串转换为字节数组.方法,它接受字符串作为参数并返回字节数组.ASCII.Get ...
最新文章
- 【高并发】高并发环境下构建缓存服务需要注意哪些问题?我和阿里P9聊了很久!...
- 销售易移动CRM助力制造业转型智能制造
- 中国人民银行:关于防范代币发行融资风险的公告
- 声音处理之-梅尔频率倒谱系数(MFCC)
- Linux - alias 定义的变量
- [C++调试笔记]执行声明的读写文件操作
- 计算器的程序代码java_求用JAVA编写的计算器程序代码
- CentOS下安装php gd库报错Error: php56w-common conflicts with php-common-5.3.3-48.el6_8.x86_64
- 杨格门锁 YGSLockSDK V3.3酒管软件接口_99v
- unity如何得到所有子对象_Unity中获取多级子父节点的对象的两种方式
- 【智能路由器】轻量级web服务器lighttpd架设——打造家庭影院
- Qt5.X 在Arm上LinuxFB平台旋转显示
- Js 把html字符串显示,js Html结构转字符串形式显示代码
- c语言for循环语句试讲,C语言For循环试讲教学教案(7页)-原创力文档
- 织梦dede源码列表页调用tags标签并带链接的实现方法
- PP报工确认bapi:BAPI_PRODORDCONF_CREATE_TT
- 孟岩:我反对将Token翻译成“代币”
- win10系统excel2019快速实现间隔行填充颜色快捷键的方法
- 新入职的程序员如何更快的融入项目当中?
- 字号,行距,磅,像素……(word排版)
热门文章
- 最长上升子序列(LIS)长度的O(nlogn)算法 (动态规划)
- JetBrains(Intellij, pycharm)多行编辑模式
- Intellij mac快捷键
- Hadoop Partitioner 实战详解
- cvtcolor函数_5 OpenCV几个函数操作实例
- 中海达ihand30手簿详细教程_开盘秒清,中海这次模拟选房结果恐将成真
- java8 时间加一秒_好好讲讲关于Java中的时间处理
- unity天气系统_天气系统(一)
- vue3 main.js引入 axios_Vue3.0新特性探索
- jquery 后代 children, find方法