利索能及
我要发布
收藏
专利号: 2019107990908
申请人: 无锡科技职业学院
专利类型:发明专利
专利状态:已下证
更新日期:2025-10-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种字符串哈希处理方法,其特征在于,所述方法包括:获取字符串数据并设置所述字符串数据的哈希码初始值,所述哈希码初始值的末位为奇数,所述哈希码初始值为32位字长的0x7fa1b3c5或者64位字长的0x7fa1b3c57fa1b3c5;

基于所述哈希码初始值对所述字符串数据中的目标字符进行哈希处理,以得到所述目标字符的哈希码值;

基于所述目标字符的哈希码值得到所述字符串数据的哈希码值;

基于所述哈希码初始值对所述字符串数据中的目标字符进行哈希处理,以得到所述目标字符的哈希码值,包括:将所述哈希码初始值向左位移七位,以得到移位后的哈希码值;

将移位后的哈希码值进行取反,以得到取反后的哈希码值;

将取反后的哈希码值与所述字符串数据中的目标字符进行相加处理,以得到相加处理后的哈希码值;

将相加处理后的哈希码值的高位设置为零,以得到所述目标字符的目标哈希值。

2.根据权利要求1所述的方法,其特征在于,在将相加处理后的哈希码值的高位设置为零,以得到所述目标字符的目标哈希值之前,且在将取反后的哈希码值与所述字符串数据中的目标字符进行相加处理,以得到相加处理后的哈希码值之后,还包括:确定所述字符串数据中是否存在未处理字符;

若存在所述未处理字符,则将所述未处理字符进行哈希处理,以得到所述未处理字符的哈希码值;

若不存在所述未处理字符,则将所述目标字符的哈希码值确定为所述字符串数据的哈希码值。

3.根据权利要求1所述的方法,其特征在于,将相加处理后的哈希码值的高位设置为零,以得到所述目标字符的目标哈希值的操作为:将相加处理后的哈希码值与预设值进行位与运算,以得到所述目标字符的目标哈希值;

其中,所述预设值为0x7fffffff。

4.一种字符串哈希处理装置,其特征在于,包括:

获取单元,用于获取字符串数据;

设置单元,用于设置所述字符串数据的哈希码初始值,所述哈希码初始值的末位为奇数,所述哈希码初始值为32位字长的0x7fa1b3c5或者64位字长的0x7fa1b3c57fa1b3c5;

处理单元,用于基于所述哈希码初始值对所述字符串数据中的目标字符进行哈希处理,以得到所述目标字符的哈希码值,并基于所述目标字符的哈希码值得到所述字符串数据的哈希码值;

基于所述哈希码初始值对所述字符串数据中的目标字符进行哈希处理,以得到所述目标字符的哈希码值,包括:将所述哈希码初始值向左位移七位,以得到移位后的哈希码值;

将移位后的哈希码值进行取反,以得到取反后的哈希码值;

将取反后的哈希码值与所述字符串数据中的目标字符进行相加处理,以得到相加处理后的哈希码值;

将相加处理后的哈希码值的高位设置为零,以得到所述目标字符的目标哈希值。

5.一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至3中任一项所述的方法的步骤。

6.一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的方法的步骤。