bakame/aide-base32

使用PHP中的函数或类进行base32编码和解码

支持包维护!
nyamsprod

dev-main 2024-04-01 04:10 UTC

This package is auto-updated.

Last update: 2024-08-31 00:46:52 UTC


README

提供函数或类以允许使用RFC4648 base32算法对字符串进行编码和解码。

注意

Aide for Base32的子分割。
⚠️ 这是一个子分割,对于拉取请求和问题,请访问:https://github.com/bakame-php/aide

安装

Composer

composer require bakame-php/aide-base32

系统要求

您需要

  • PHP >= 8.1 但推荐使用最新的稳定版本

使用

此包提供用户空间的base32编码和解码机制。

base32_encode(string $decoded, string $alphabet = PHP_BASE32_ASCII, $padding = '='): string
base32_decode(string $encoded, string $alphabet = PHP_BASE32_ASCII, $padding = '=', bool $strict = false): string

参数

  • $decoded : 要进行base32_encode编码的数据
  • $encoded : 要进行base32_decode解码的数据
  • $alphabet : base32字母表,默认为PHP_BASE32_ASCII
  • $padding : 填充字符

如果$alphabetPHP_BASE32_ASCII并且$padding=,则按照RFC4648 US-ASCII标准进行转换。如果$alphabetPHP_BASE32_HEXC并且$padding=,则按照RFC4648 HEX标准进行转换。

您可以提供自己的32个字符的字母表和自己的填充字符。

  • $strict : 告知是否需要执行严格解码

如果将严格参数设置为true,则base32_decode()函数将返回false

  • 如果编码序列长度无效
  • 如果输入包含来自base64字母表之外的字符。
  • 如果填充无效
  • 如果编码字符不遵循字母表的字母大小写。

否则列出约束条件将被静默忽略或丢弃。

<?php

base32_encode('Bangui');                                      // returns 'IJQW4Z3VNE======'
base32_decode('IJQW4Z3VNE======');                            // returns 'Bangui'
base32_decode('IJQW4Z083VNE======');                          // returns 'Bangui'
base32_decode('IJQW4Z083VNE======', PHP_BASE32_ASCII, true);  // return false
base32_encode('Bangui', PHP_BASE32_HEX, '*');                 // returns '89GMSPRLD4******'
base32_decode('89GMSPRLD4******', PHP_BASE32_HEX, '*', true); // returns 'Bangui'