只要能把字符串转成INT、DWORD等形式的数字就行,要唯一,用来做ID的,也要简单,不要MD5这样需要复杂计算的

解决方案 »

  1.   

    MD5就是其中一种算法呀,我就是想要个比MD5简单的,对安全要求不高的,只要求唯一,应该有有吧
      

  2.   

    有没有这种算法呢?我实在想不到,相同字符串不管转几次都能转成同一个ID,不同字符串要转成不同的ID,实在不行还只有用MD5了
      

  3.   

    在同时要求唯一性和仅仅一个DWORD数字标识,是不可能的。
    如果由不定长DWORD数组标识,还有可能。
      

  4.   

    md5
    网络中广泛使用的checksum算法
      

  5.   

    用Forcal,相同字符串可获得唯一id。快速而简单,不过要加载forcal32w.dll这样一个动态库。
    原理:第一次向Forcal注册字符串,id即该字符串地址。以后若注册相同字符串会失败,但可获得已注册的字符串地址,自然id是唯一的。我的blog:http://blog.csdn.net/forcal
      

  6.   

       将字符串用hash算法将其转换成hash值即可,代码只有几行,我明天给你拿过来吧
      

  7.   

    随便转一个Hash值,不能保证 唯一的。
      

  8.   

    四字节的ID最多只有0x100000000种不同,而字符串不会只有这么多。因此如果你希望通过某种计算方法得到绝对唯一的ID是不可能,但是可以设计一个ID分发器,将字符串注册进去并返回一个ID,用这个ID分发器来管理ID的生成。
      

  9.   

    用boost的hash库:#include <boost/functional/hash.hpp> 
    boost::hash<std::string> strhash;
    size_t id = strhash("hello");
      

  10.   

    当然,用HASH也是不能保证绝对唯一的