本发明涉及数据处理,尤其涉及一种短地址生成方法、装置、设备及存储介质。
背景技术:
1、长网址转换为短网址的目的是便于链接网址的发布和传播,在发送营销短信、发布社交媒体内容等有字数限制的场景下被广泛使用。短网址生成就是通过算法把长的网址映射到一定长度的短的网址,并存入数据库中,当用户点击短网址时,服务端根据短网址得到对应的长网址,再根据原始的长网址去进行请求,获取响应,然后返回给浏览器。
2、短网址服务,主要包括短网址生成和短网址跳转两部分。短网址跳转的关键是让用户请求的是短网址而响应的却是长网址的内容。基本原理是,当用户点击短网址时,服务器端根据短网址中的短码,查找到对应的长网址,然后进行重定向跳转到相应的页面。例如,当我们在浏览器里输入http://sh.cn/q8yo5w时,dns域名解析器首先解析获得sh.cn的ip地址,当dns获得ip地址后,会向这个地址发送http get请求,查询短码q8yo5w,服务器通过短码q8yo5w查询数据库获取对应的长网址,返回301(永久重定向)或者302(临时重定向),同时多了一个location响应头,值就是原始链接地址,让浏览器重定向到目标地址,跳转到原始网址。
3、目前短网址生成的算法主要有md5信息摘要算法和自增序列法两种。md5摘要算法是使用md5算法对输入的长网址进行压缩,产生一个定长的字符串,此方法产生的短码长度固定且无法被逆向破解,安全性较高,但是由于md5是一种哈希算法,存在碰撞的可能性,而且随着生成短码数量的增长,其碰撞概率也不断加大,当发生碰撞时会造成网页访问错误;自增序列法算法,是将一个自增值转换为多进制字符串作为短码,通常使用62进制,由于生成短码的自增值每次加一,因此转换出来的62进制短码可以有效避免碰撞,该方法的缺点是生成的短码是有序的,很容易被逆向破解,安全性较低。此外,进制转换法产生的短码长度是不固定,当自增主键过大时,生成的短码会变得较长。因此,亟需一种安全且有效的短码生成方法。
技术实现思路
1、本发明提供了一种短地址生成方法、装置、设备及存储介质,以提高短码的安全性。
2、根据本发明的一方面,提供了一种短地址生成方法,该方法包括:
3、在可复用短码列表中不存在失效短码的情况下,获取redis的自增值,对所述自增值加一处理,得到目标自增值;
4、若所述目标自增值在阈值范围内,则根据所述目标自增值、59进制编码表和补位字符集,确定目标短码;
5、对所述目标短码和url地址进行拼接得到目标短地址。
6、根据本发明的另一方面,提供了一种短地址生成装置,该装置包括:
7、目标自增值确定模块,用于在可复用短码列表中不存在失效短码的情况下,获取redis的自增值,对所述自增值加一处理,得到目标自增值;
8、目标短码确定模块,用于若所述目标自增值在阈值范围内,则根据所述目标自增值、59进制编码表和补位字符集,确定目标短码;
9、目标短地址确定模块,用于对所述目标短码和url地址进行拼接得到目标短地址。
10、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
11、至少一个处理器;以及
12、与所述至少一个处理器通信连接的存储器;其中,
13、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的短地址生成方法。
14、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的短地址生成方法。
15、本发明实施例的技术方案,通过在可复用短码列表中不存在失效短码的情况下,获取redis的自增值,对所述自增值加一处理,得到目标自增值,之后若所述目标自增值在阈值范围内,则根据所述目标自增值、59进制编码表和补位字符集,确定目标短码,进而对所述目标短码和url地址进行拼接得到目标短地址。上述技术方案,通过59进制编码表和补位字符集所产生的短码是无规律的,不易被反向推导,安全性高。
16、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种短地址生成方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述目标自增值、59进制编码表和补位字符集,确定目标短码,包括:
3.根据权利要求2所述的方法,其特征在于,根据59进制编码表,对所述目标自增值进行编码,得到候选短码,包括:
4.根据权利要求2所述的方法,其特征在于,根据候选短码和补位字符,确定目标短码,包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求1-5中任一项所述的方法,其特征在于,还包括:
7.根据权利要求1所述的方法,其特征在于,还包括:
8.一种短地址生成装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的短地址生成方法。