PHP中是否存在编码函数,它将对字符串进行编码,结果输出只包含字母和数字?我会使用base64,但仍然有一些东西不是数字/字母数字PHP编码仅包含字母和数字
回答
您可以使用base32(代码易于谷歌),这是一种标准的替代base64。或者使用bin2hex()和pack("H*",$hex)
进行反转。然而,十六进制编码会导致尺寸加倍。
(但如果它的任何重要大小,并开始作为文字,你可以先压缩它!) – symcbean 2010-10-29 08:48:32
谢谢你,一个直接的答案! – cappuccino 2010-10-29 08:55:53
任何散列函数(md5,sha1等)输出将只包含十六进制数字,但这不完全是“编码”。
不想散列,因为它需要可恢复。 – cappuccino 2010-10-29 08:18:46
我知道这是一个额外的步骤,但是当您需要恢复APC缓存的密钥时,您不能再次散列该字符串吗? – 2010-10-29 08:41:51
为什么APC密钥需要恢复?这是一个缓存,使用单向编码获取对我来说似乎相当不错? – Wrikken 2010-10-29 08:50:10
您可以使用a-z/A-Z/0-9编写自己的base-62编码器/解码器。尽管每个ASCII字符都需要3位数字,但效率并不高。
他为什么需要3位数字?当然2就足够了。 – Hammerite 2010-10-29 09:05:05
我对此感到困惑,但我认为你是对的。 – 2010-10-29 17:10:26
我写了这个用字母,数字及破折号。
我敢肯定,你可以提高它取出破折号:
function pj_code($str) {
$len = strlen($str);
while ($len--) {
$enc .= base_convert(ord(substr($str,$len,1)),10,36) . '-';
}
return $enc;
}
function pj_decode($str) {
$ords = explode('-',$str);
$c = count($ords);
while ($c--) {
$dec .= chr(base_convert($ords[$c],36,10));
}
return $dec;
}
- 1. 编码的Python为*仅*字母数字
- 2. 文本框仅包含字母,数字和空格
- 3. 检查NSString包含字母和数字
- 4. 加载包含数字和字母
- 5. 检查密码包含字母,数字和特殊字符
- 6. 在包含字母和数字的字段中捕获字母
- 7. 如何仅返回包含数字和字母的列中的数字?
- 8. 检查字符串是否仅包含英文字母,数字和符号
- 9. PHP检查字符串是否包含一些字母/数字
- 10. JQuery - 确认密码包含非字母数字字符
- 11. 返回sql行where字段仅包含非字母数字字符
- 12. 如何编写包含字母数字和特殊字符的输入匹配
- 13. 计算包含“JJ编号”和“JJ字母表”的项目数
- 14. 检查一个字符串是否包含数字和字母
- 15. 由包含数字和字母的字段排序
- 16. 分开字包含字母和数字分为两个部分
- 17. mysql按列包含字母和数字的数据
- 18. 搜索数值包含字母和数字值 - VBA的Excel
- 19. 如何验证字段仅包含字母?
- 20. PHP正则表达式。检查字符串是否仅包含字母
- 21. Wordpress - 按字母顺序排列包含数字和字母的帖子
- 22. JQUERY +检查参数,以确保它仅包含字母或数字
- 23. 由包含数字两个值和字母
- 24. 字母数字是否包含_和空格?
- 25. 排序包含字典和外来字母的数组?
- 26. 正则表达式包含字母,数字和_
- 27. 排序使用LINQ凡列表包含字母和数字
- 28. 文本字段应该只允许字母数字,不仅包括字母和数字?
- 29. preg_match字母不仅字母?
- 30. 自动删除包含“ème”的数字和字母数字文字
这是什么呢?我认为这可能是一个具体的答案。 – MatTheCat 2010-10-29 08:08:02
前段时间我问了一个类似的问题:[编码任意数据为数字?](http://stackoverflow.com/questions/2982112/encoding-arbitrary-data-into-numbers)我还没有时间去测试答案,但@ Artefacto的外观很好 – 2010-10-29 08:08:18
使用ord()将所有字符转换为它们的ASCII码? – Mchl 2010-10-29 08:15:21