• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: Matlab
  • 标签:

资源简介

matlab开发-String2Hash。将字符串数组(文本)转换为哈希代码

资源截图

代码片段和文件信息

function hash=string2hash(strtype)
% This function generates a hash value from a text string
%
% hash=string2hash(strtype);
%
% inputs
%   str : The text string or array with text strings.
% outputs
%   hash : The hash value integer value between 0 and 2^32-1
%   type : Type of has ‘djb2‘ (default) or ‘sdbm‘
%
% From c-code on : http://www.cse.yorku.ca/~oz/hash.html 
%
% djb2
%  this algorithm was first reported by dan bernstein many years ago 
%  in comp.lang.c
%
% sdbm
%  this algorithm was created for sdbm (a public-domain reimplementation of
%  ndbm) database library. it was found to do well in scrambling bits 
%  causing better distribution of the keys and fewer splits. it also happens
%  to be a good general hashing function with good distribution.
%
% example
%
%  hash=string2hash(‘hello world‘);
%  disp(hash);
%
% Function is written by D.Kroon University of Twente (June 2010)


% From string to double array
str=double(str);
if(nargin<2) type=‘djb2‘; end
switch(type)
    case ‘djb2‘
        hash = 5381*ones(size(str1)1); 
        for i=1:size(str2) 
            hash = mod(hash * 33 + str(:i) 2^32-1); 
        end
    case ‘sdbm‘
        hash = zeros(size(str1)1);
        for i=1:size(str2) 
            hash = mod(hash * 65599 + str(:i) 2^32-1);
        end
    otherwise
        error(‘string_hash:inputs‘‘unknown type‘);
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1422  2010-06-18 12:32  string2hash.m
     文件        1314  2014-02-12 13:10  license.txt

评论

共有 条评论

相关资源