这个程序怎么理解?co.hash有什么意义?

IT-司马青衫
壹号网络官方账号
2004-08-26 06:38:37
#include <iostream>
#include <locale>

int main ()
{
#ifndef _RWSTD_NO_NAMESPACE
using namespace std;
#endif

locale loc;
string s1("blue");
string s2("blues");

// Get a reference to the collate<char> facet
const collate<char>& co =
#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
use_facet<collate<char> >(loc);
#else
use_facet(loc,(collate<char>*)0);
#endif

// Compare two strings
cout << co.compare(s1.begin(),s1.end(),
s2.begin(),s2.end()-1) << endl;
cout << co.compare(s1.begin(),s1.end(),
s2.begin(),s2.end()) << endl;

// Retrieve hash values for two strings
cout << co.hash(s1.begin(),s1.end()) << endl;
cout << co.hash(s2.begin(),s2.end()) << endl;

getchar();
return 0;
}
这个是CB里的示例!
...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
constantine 2004-08-26
  • 打赏
  • 举报
回复
学习
莫名 2004-08-26
  • 打赏
  • 举报
回复
是计算hash值。

HASH加密把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值。HASH加密用于不想对信息解密或读取。使用这种方法解密在理论上是不可能的,是通过比较两上实体的值是否一样而不用告之其它信息。HASH加密别一种用途是签名文件。它还可用于当你想让别人检查但不能复制信息的时候。

  举个例子,一台自动取款机(ATM)不需要解密一个消费者的个人标识数字(PIN)。磁条卡将顾客的代码单向地加密成一段HASH值,一旦插卡时,ATM机将计算用户PIN的HASH值并产生一个结果,然后再将这段结果与用户卡上的HASH值比较。使用这种方法,PIN是安全的,即使对于那些维护ATM机的人来说。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧