首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP将Hext转换为Base32,反之亦然

PHP将Hext转换为Base32,反之亦然
EN

Stack Overflow用户
提问于 2021-04-24 02:44:18
回答 2查看 119关注 0票数 0

我面临着将十六进制表示转换为基数32的问题,反之亦然。

所有的在线转换都是基于JavaScript的,但我找不到任何基于PHP的解决方案。

我已经尝试了base32Encode十六进制值,十六进制解码,然后base32编码,他们都没有实际工作:(

十六进制: 686aa8fca1767a5c1cc23b0f982380d6ba6d07ff32fafe8e

base32: NBVKR7FBOZ5FYHGCHMHZQI4A225G2B77GL5P5DQ

这里我需要的是从十六进制值获取(转换) base32值,反之亦然,就像从基数32获取十六进制值一样。

就这样

更新1:

下面的网站可以编码从十六进制到base32的方式,这正是我正在寻找,但。但我不知道他们是怎么做到的。:(

截图:

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-24 06:54:41

Sammitch建议的库运行良好(它与您发布的站点一样符合RFC4648),但您需要将hex2bin()/bin2hex()添加到混合库中才能获得您想要的结果:

代码语言:javascript
复制
require 'path/to/vendor/autoload.php';

use Base32\Base32;

$hex = '686aa8fca1767a5c1cc23b0f982380d6ba6d07ff32fafe8e';

// Hex to Base32

$to_base32 = Base32::encode(hex2bin($hex)); 
var_dump($to_base32); // NBVKR7FBOZ5FYHGCHMHZQI4A225G2B77GL5P5DQ=

// Base32 to Hex

$to_hex = bin2hex(Base32::decode($to_base32));
var_dump($to_hex); // 686aa8fca1767a5c1cc23b0f982380d6ba6d07ff32fafe8e
票数 1
EN

Stack Overflow用户

发布于 2021-04-24 04:40:48

假设您指的是base36而不是base32:

代码语言:javascript
复制
$in16 = '686aa8fca1767a5c1cc23b0f982380d6ba6d07ff32fafe8e';
$in36 = 'NBVKR7FBOZ5FYHGCHMHZQI4A225G2B77GL5P5DQ';

var_dump(
    base_convert($in16, 16, 32),
    base_convert($in36, 36, 16)
);

输出:

代码语言:javascript
复制
string(39) "1k6la7sk5r7o000000000000000000000000000"
string(51) "200727aed64d340000000000000000000000000000000000000"

所有这些结尾的零,闻起来像加密货币。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67235354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档