根据一个字符串数组(长度不定),如何生成一个唯一的压缩字符串?

mountsnow 2005-05-09 03:04:11
如题,如果可能最好能给出例子,多谢了
...全文
372 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
MARS.nEIL 2005-05-10
  • 打赏
  • 举报
回复
但是有一点比较困惑,既然输出的字符串是定长的,那么,其组合方式必然是固定的,也就是说有固定的n种组合,而输入是无限的,从这一点上说,对于不同的输入就有不同的输出显然是矛盾的。
------------------
不但你困惑,我想很多人都困惑了,因为你说得一点都不清楚..
jihanzhong 2005-05-10
  • 打赏
  • 举报
回复
一种是无限数量的信息,一种是有限的信息,你要那种一对一的算法是不可能的。我给的是jdk自己带的md5方法,你可以试试。虽然说理论上存在多个字符串对应同一个md5码,但实际上遇到的很少。
mountsnow 2005-05-10
  • 打赏
  • 举报
回复
实际情况是这样的:要根据一个数组(数组长度不定),如;new String{"12345","skld43","3eij",...},获得一个固定长度的压缩字符串,而且这个字符串是唯一的,也就是,输入不同,输出也是不同的,对于相同的输入,其输出必是相同的。
但是有一点比较困惑,既然输出的字符串是定长的,那么,其组合方式必然是固定的,也就是说有固定的n种组合,而输入是无限的,从这一点上说,对于不同的输入就有不同的输出显然是矛盾的。

望各位大侠给与指教
onefox 2005-05-09
  • 打赏
  • 举报
回复
md5
teddywtd 2005-05-09
  • 打赏
  • 举报
回复
sra算法也不错阿,不就是要加密一下么?
lj6684 2005-05-09
  • 打赏
  • 举报
回复
MD2,MD5,SHA1
你需要的是文摘算法
007remember 2005-05-09
  • 打赏
  • 举报
回复
顶下先
不懂
学习ing
key_feng 2005-05-09
  • 打赏
  • 举报
回复
你究竟是要什麼阿﹖﹖
jihanzhong 2005-05-09
  • 打赏
  • 举报
回复
import java.security.*;
import java.security.spec.*;
class MD5_Test{

public final static String MD5(String s){
char hexDigits[] = {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
'e', 'f'};
try {
byte[] strTemp = s.getBytes();
MessageDigest mdTemp = MessageDigest.getInstance("MD5");
mdTemp.update(strTemp);
byte[] md = mdTemp.digest();
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) {
byte byte0 = md[i];
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
str[k++] = hexDigits[byte0 & 0xf];
}
return new String(str);
}
catch (Exception e){
return null;
}
}
public static void main(String[] args){
//MD5_Test aa = new MD5_Test();

System.out.print(MD5_Test.MD5("XX"));
}
pigo 2005-05-09
  • 打赏
  • 举报
回复

md5,sha.

估计你要的就是这个。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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