Chinaunix

标题: md5乱码是什么原因[问题搞错,关闭] [打印本页]

作者: alonerhu    时间: 2014-06-03 23:05
标题: md5乱码是什么原因[问题搞错,关闭]
本帖最后由 alonerhu 于 2014-06-07 14:32 编辑

监控服务器nagios连接了短信服务器来报警,报警内容必须16位md5加密字符串后发送
想对字符串加密,发现用digest的时候会出现乱码,而用hexdigest和b64digest都正常
有人遇到过这种问题吗?
  1. my $md5 = Digest::MD5->new;
  2. $md5->add($content_s);
  3. my $content = $md5->digest;
  4. #my $content = $md5->hexdigest;
  5. #my $content = $md5->b64digest;
复制代码
操作系统centos 5.5
perl v5.8.8
字符串全部用数字和英文也是乱码


看了perldoc,原来digest是binary模式的,看来还要转化一次,先测试好了再报告。

哎,终于看到java代码了,原来不是md5,而是用16进制转化的,让大家见笑了。
作者: iakuf    时间: 2014-06-03 23:09
本来 digest 就是输出人类不可读的信息, 你要用的功能是 hex 的显示.
作者: q1208c    时间: 2014-06-04 07:31
你把报警md5 之后发出去?
那还有人能看懂么?
作者: alonerhu    时间: 2014-06-04 09:13
本帖最后由 alonerhu 于 2014-06-04 09:15 编辑

回复 3# q1208c

短信服务器那边会还原
直接用浏览器输入url测试过了,没有问题的。

   
作者: q1208c    时间: 2014-06-04 10:15
回复 4# alonerhu

能还原 md5 ?

求算法
   
作者: alonerhu    时间: 2014-06-04 11:23
回复 5# q1208c


    服务器在人家那里
我这边通过http提交get或者post而已




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2