最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

PHP实现数字ID转化为唯一字符串代码

来源:http://erdangjiade.com/php/8542.html 沐浴春风 2018-03-01 20:18浏览(1072)

Hashids是一个能利用整数生成出短小、唯一、非连续标识符的类库,它支持包含php等多种语言。这是最近的一个项目用到的PHP实现数字ID转化为唯一字符串代码

0、请不要问“在不在”之类的问题,有问题直接问!1、学生或暂时没有工作的童鞋,整站资源免费下载!2、¥9.9充值终身VIP会员,加我微信,826096331 拉你进VIP群学习!3、程序员加油,技术改变世界。 在线 充值

PHP实现数字ID转化为唯一字符串代码
分类:PHP > 函数 难易:初级
查看演示 下载资源:

加我微信,拉你进VIP群学习:

下载资源 下载积分: 60 积分

正常情况下,当浏览文章页面时,我们会在URL中看到真实的文章ID。如果你不想将数据库中的数据ID暴露给用户,那你可以使用Hashids,它是一个小型的PHP库,可将数字id生成类似Youku,Weibo之类的字符串id。

Hashids是一个能利用整数生成出短小、唯一、非连续标识符的类库,它支持包含php等多种语言。 Hashids支持通过生成出来的标识符进行解码为原数字,还支持加盐加密,不会因为大家都用这个类库就被猜到真实ID。 安装 使用Composer安装Hashids。

Hashids是一个能利用整数生成出短小、唯一、非连续标识符的类库,它支持包含php等多种语言。 Hashids支持通过生成出来的标识符进行解码为原数字,还支持加盐加密,不会因为大家都用这个类库就被猜到真实ID。 安装 使用Composer安装Hashids。

<?php 
require 'vendor/autoload.php';

use Hashids\Hashids;

$hashids = new Hashids();
$id = $hashids->encode(1); //1 -> jR

以上代码中会把数字1转换成字符串jR

可以使用decode()方法还原解码id,注意这里得到的是一个数组。

$numbers = $hashids->decode($id); // [1]

你也可以加盐,或者说是设置一个密钥,与别的项目不一样,可以保证生成唯一的字符串。

use Hashids\Hashids;

$hashids = new Hashids('My Project');
$hashids->encode(1, 2, 3); // Z4UrtW

$hashids = new Hashids('My Other Project');
$hashids->encode(1, 2, 3); // gPUasb

当然,你也可以将转换后的字符串的长度加长,比如下方代码设置了字符串为10位字符。
use Hashids\Hashids;

$hashids = new Hashids(); // no padding
$hashids->encode(1); // jR

$hashids = new Hashids('', 10); // pad to length 10
$hashids->encode(1); // VolejRejNm

是不是使用很简单,值得注意的是:

    Hashids解码时返回的是数组,哪怕是一个id数字最后也会返回数组。
    Hashids不能转换加密负数。
    Hashids不是安全库,不能将敏感信息作为编码。

Hashids项目地址:https://github.com/ivanakimov/hashids.php。
声明:本文为原创文章,如需转载,请注明来源erdangjiade.com并保留原文链接:https://www.erdangjiade.com/php/8542.html
评论8
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

  • 头像 7楼
    06-13 13:33
    卑微码农小霞
    这个我还是不会怎么得到源码
  • 头像 6楼
    07-16 09:25
    tian0922
    效果挺不错的 谢谢 作者
  • 头像 5楼
    06-21 19:58
    ngu137
    很不错的插件功能,用用
  • 头像 4楼
    04-21 19:30
    ngu137
    功能不错啊,可以的
  • 头像 3楼
    04-16 13:27
    kkssks2006
    不错不错 楼主棒棒的
  • 头像 板凳
    04-02 17:38
    allens
    这个源码可以的
  • 头像 椅子
    03-22 08:22
    ngu137
    感谢分享的php源码。。。不错
  • 头像 沙发
    03-10 09:08
    654321
    这个很好,群主!
1 2