Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

conzi/php-base64

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

5 Commits

Repository files navigation

php-base64

php版本的base64,从jquery-base64修改而来,主要为了支持自定义key

用法

正常使用,与base64_encode ,base64_decode没有区别

$base64 = new Base64();
$enc = $base64->encode('test string');
$dec = $base64->decode($enc);

自定义key :

$base64 = new Base64();
$key = '()!@#$%^&*ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/';
$enc = $base64->encode('test string',$key);
$dec = $base64->decode($enc,$key);

原理

wikipedia:base64

完整的base64定义可见 RFC 1421和 RFC 2045。编码后的数据比原始数据略长,为原来的4/3。 在电子邮件中,根据RFC 822规定,每76个字符,还需要加上一个回车换行。可以估算编码后数据长度大约为原长的135.1%。 转换的时候,将三个byte的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。数据不足3byte的话,于缓冲区中剩下的bit用0补足。然后,每次取出6(因为)个bit,按照其值选择ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/中的字符作为编码后的输出。不断进行,直到全部输入数据转换完成。 如果最后剩下两个输入数据,在编码结果后加1个"=";如果最后剩下一个输入数据,编码结果后加2个"=";如果没有剩下任何数据,就什么都不要加,这样才可以保证资料还原的正确性。

百度百科:base64

About

php版本的base64,从jquery -base64修改而来,主要为了支持自定义key

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /