我想创建一个程序,它从一个路径的输入生成一个MD5-hash。下面的代码只根据路径的名称创建一个哈希。如何从路径的输入生成MD5-hash?谢谢!
public static void main (String[]args) {
Scanner sc = new Scanner(System.in);
String path = sc.next();
System.out.println("MD5: "+MD5(path)); //Methode MD5 auf "path" angewandt
}
public static String MD5(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] messageDigest = md.digest(input.getBytes());
BigInteger number = new BigInteger (1, messageDigest);
String hashtext = number.toString(16);
while (hashtext.length()<32) {
hashtext = "0" + hashtext;
}
return hashtext;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
在您的示例中,方法参数中的字符串input
是冗余的,因为您没有使用它。为其赋值
input += "0" + hashtext;
然后退回
return input;
按照这个方法,你每次都会得到不同的结果
public static String MD5(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] messageDigest = md.digest(input.getBytes());
BigInteger number = new BigInteger (1, messageDigest);
String hashtext = number.toString(16);
while (hashtext.length()<32) {
input += "0" + hashtext;
}
return input;
} catch (Exception e) {
throw new RuntimeException(e);
}
问题内容: Python MD5哈希与shell上md5sum命令创建的哈希不同。为什么? 问题答案: 追加a,因为您通常不希望外壳中的行不以换行符结尾(如果提示不是从最左边开始,则看起来很丑)。 使用参数省略尾随的换行符,它将输出与您的python脚本相同的校验和:
问题内容: 我对加密/哈希知之甚少。 我必须对加密密钥进行哈希处理。Java中的示例是这样的… 现在,如果我错了,请纠正我,但是上面的代码使用MD5算法对字符串进行了哈希处理。 当我在C#中哈希相同的字符串时,我希望得到相同的结果。 我当前的C#代码看起来像这样… 但是末字节结果不匹配。 Java得到… C#得到… 我需要C#代码才能获得与Java代码相同的结果(不是相反),有什么想法吗? 谢谢。
我有文件夹在我的域名像example.com/photos. 我需要得到该文件夹的内容并打印具有特定名称的图片,如(可以是任何东西)。 我试过: 但它返回了一个错误 警告:斯堪的纳维亚(http://www.example.com/photos/):无法打开目录:未在/home/egiadog/public\u html/mobil/test中实现。php在线3 警告:scandir():(错误号
我下载了一个eclipse项目,它有一个.classpath,其中包含需要更新的类条目。 这到底是做什么的?我可以更改。eclipse中的类路径? 我在eclipse中打开了,希望它具有与. classpath相同的内容,但里面什么都没有。
好吧,这里都是我的问题。我正在尝试用MD5哈希加密字符串。下面是我试图哈希的字符串: 以下是预期输出: 下面是我在Android应用程序中得到的信息: 下面是我正在使用的代码: 在Android上运行这段代码时,我得到了上述意想不到的结果,但当我运行这段代码时,就像一个Java程序传递相同的字符串一样,我得到了预期的输出... 究竟是怎么回事?几天来,我一直被这件事难住,在网上搜寻线索。我已经尝试