如何使用Hashids

 项目中有很多信息如果明文直接推送到网页中,会产生太多的非安全因素,以及如果我们需要一个唯一值是根据现有信息和时间生成,那么Hashids就是为此而生的。github地址:https://github.com/ivanakimov,支持现有常用的编程语言的支持。

 

Hashids介绍


以PHP为例,官方中的定义是:

A small PHP class to generate YouTube-like ids from numbers.

言简意赅就是这是一个轻量级库用来生成混淆字符串

 

Hashids安装


Github上建议通过composer依赖管理器安装,不同的编程语言有不同的安装方式。

例如JS可以通过使用bower包管理器,或者直接下载JS库使用。

 

<script type="text/javascript" src="lib/hashids.min.js"></script>

Hashids使用


还是以PHP为例,基本的用法如下:

 

$hashids = new Hashids\Hashids();//实例化hashids

$id = $hashids->encrypt(1, 2, 3);//加密多个值,也可以加密单个值
$numbers = $hashids->decrypt($id);//解密哈希值

自定义SALT值用法如下;
Hashids类的构造函数有三个参数分别是:
$salt = '', $min_hash_length = 0, $alphabet = ''
$salt是自定义的SALT值,最好大于6位小于32位。
$min_hash_length是哈希值最小长度,最少7位。
$alphabet是加密生成的字符串来源默认是abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,可以自己定义,但要多于16个。


$hashids = new Hashids\Hashids('this is my salt', 8, 'abcdefghij1234567890'); //实例化

$id = $hashids->encrypt(1, 2, 3); //加密

$numbers = $hashids->decrypt($id); //解密

 

 Hashids扩展


hashids生成的混淆字符串是随机性的。

由于它本身避免了以下字符串相邻,所以大部分英文的脏话是不会出现的。

 

c, C, s, S, f, F, h, H, u, U, i, I, t, T

 

转载于:https://www.cnblogs.com/lancode/p/3964460.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值