Tag: md5

如何用java或groovy计算目录上的md5校验和?

我希望使用java或groovy来获取完整目录的md5校验和。 我必须将源目录,校验和源和目标以及删除源目录后的目录复制。 我发现这个文件的脚本,但如何与目录做同样的事情? import java.security.MessageDigest def generateMD5(final file) { MessageDigest digest = MessageDigest.getInstance(“MD5”) file.withInputStream(){ is -> byte[] buffer = new byte[8192] int read = 0 while( (read = is.read(buffer)) > 0) { digest.update(buffer, 0, read); } } byte[] md5sum = digest.digest() BigInteger bigInt = new BigInteger(1, md5sum) return bigInt.toString(16).padLeft(32, ‘0’) } 有更好的方法吗?

使用md5扫描重复文档

由于某些原因,我不能使用MessageDigest.getInstance(“MD5”) ,所以我必须手动编写算法代码,我的项目是在Android设备上扫描重复文档(* .doc,* .txt,* .pdf) 。 我的问题是,在输入算法之前我必须写什么,扫描Android设备上MY ROOT目录上的重复文档? 如果没有选择目录,当我按下按钮扫描时,进程开始, listview显示。 有人可以帮帮我吗? 我的项目截止日期即将到来。 非常感谢。 public class MD5 { //What must I write here, so I allow to scan for duplicate document on Android root with MD5 Hash //MD5 MANUAL ALGORITHM CODE }

在Java程序中计算zip文件的md5哈希值

我有一个zip文件,在我的Java代码中我想计算zip文件的md5哈希值。 有没有我可以用于此目的的java库? 一些例子将非常感激。 谢谢

使用DigestInputStream计算来自同一InputStream的多个校验和

我试图找出如何使用DigestInputStream基于相同的InputStream读取多个摘要(md5,sha1,gpg)。 根据我在文档中检查的内容,似乎可以通过克隆摘要来实现。 有人可以说明一下吗? 我不想重新读取流来计算校验和。

Java MessageDigest不起作用

我无法使MessageDigest工作,程序给我两个错误:UnsupportedEncodingException,NoSuchAlgorithmException byte[] bytesOfchat_key = “lol”.getBytes(“UTF-8”); MessageDigest md = MessageDigest.getInstance(“MD5”); byte[] Digest = md.digest(bytesOfchat_key); 如果我抛出错误,它会给我ワ￟ㅄ9ㅔヌnp> 0xd￉z作为响应(16个字符) PS:我曾经打印过Digest for (byte b : Digest) { System.out.print((char)b); }

在Python 2.7中复制Java的PBEWithMD5AndDES

如果不是立即显而易见,那么首先我要说的不是加密人。 我的任务是在Python 2.7中复制Java的PBEWithMD5AndDES(使用DES加密的MD5摘要)的行为。 我可以访问Python的加密工具包PyCrypto。 这是我试图复制其行为的Java代码: import java.security.spec.KeySpec; import javax.crypto.spec.PBEKeySpec; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import java.security.spec.AlgorithmParameterSpec; import javax.crypto.spec.PBEParameterSpec; import javax.crypto.Cipher; import javax.xml.bind.DatatypeConverter; public class EncryptInJava { public static void main(String[] args) { String encryptionPassword = “q1w2e3r4t5y6”; byte[] salt = { -128, 64, -32, 16, -8, 4, -2, 1 }; int iterations = 50; try { KeySpec […]

md5 php和android不一样

我正在计算文件的md5但得到不同的结果 码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); AssetManager am = getResources().getAssets(); String as = null; try { InputStream is=am.open(“sdapk.db”); as=is.toString(); }catch(IOException e) { Log.v(“Error_E”,””+e); } String res = md5(as); TextView tv = new TextView(this); tv.setText(res); setContentView(tv); } public String md5(String s) { try { MessageDigest digest = java.security.MessageDigest.getInstance(“MD5”); digest.update(s.getBytes()); byte messageDigest[] = digest.digest(); // […]

MessageDigest MD5算法没有返回我期望的内容

我脑子里的东西告诉我,我在这里遗漏了一些明显的东西。 我正在将现有的java项目与第三方api集成,后者使用api密钥的md5哈希进行身份validation。 它对我不起作用,在调试过程中我意识到我生成的哈希值与它们提供的示例不匹配。 我发现一些网站用字符串创建MD5哈希来检查他们的例子,据我所知,我错了,他们是对的。 例如,根据该网站 ,字符串“hello”生成散列“5d41402abc4b2a76b9719d911017c592”。 (FWIW我对这个网站一无所知,只是它似乎正确地散列了我的例子)。 当我通过我的代码运行它时,我得到: XUFAKrxLKna5cZ2REBfFkg == 这是我用来生成md5哈希/字符串的简单方法: private String md5(String md5Me) throws Exception { MessageDigest md = MessageDigest.getInstance(“MD5”); md.reset(); md.update(md5Me.getBytes(“UTF-8”)); return Base64.encodeBase64String(md.digest()); } 上周,我使用一种非常类似的方法使用SHA1算法成功validation了不同的API。 我想知道问题是否与org.apache.commons.net.util.Base64.encodeBase64String有关…非常感谢任何帮助,如果只是一些测试,看看byteArray是否正确但转换后的字符串是错误的。

如果解码,两个不同的BASE 64编码字符串可以产生相同的字符串吗?

在客户端,我正在对字符串进行MD5加密,然后对生成的哈希进行BASE 64编码。 然后将该最终编码的字符串用于服务器端的比较。 我能够成功地为许多测试用例做到这一点,但是对于下面的测试用例,它失败了。 MD5的字符串 2679:07071960:09348448:3:08912206:3:EXPRESS:1:EU4NW31E7INEC1X 我的MD5哈希字符串: 291423A531148527A9524EA0924CDF68 我的Base64编码字符串: KRQjpTEUhSepUk6gkkzfaA== 当我尝试在http://www.opinionatedgeek.com/dotnet/tools/base64encode/上放置用于BASE64编码的MD5哈希字符串时,它会生成以下字符串: MjkxNDIzQTUzMTE0ODUyN0E5NTI0RUEwOTI0Q0RGNjg= 但是,当我尝试解码我​​的Base64字符串时,就是“KRQjpTEUhSepUk6gkkzfaA ==”,这里http://www.opinionatedgeek.com/dotnet/tools/Base64Decode/Default.aspx我得到了我的哈希码(打开了.bin)文件在hex编辑器中生成)。 那么,单个字符串可能有多个Base64编码值吗? 我使用以下代码生成编码字符串: public static String getHashCode(String text) { MessageDigest md; byte[] md5hash = new byte[32]; try{ md = MessageDigest.getInstance(“MD5”); md.update(text.getBytes(“iso-8859-1”), 0, text.length()); md5hash = md.digest(); } catch(Exception e) { return “-1”; } String encoded = Base64.encode(md5hash); String retValue = new String(encoded); […]

在Java中将MD5转换为String

任何人都可以知道如何将MD5转换为String 。 在我的情况下,我已将密码保存在MD5的数据库中。 我正在尝试检索密码并将其显示在字符串中以进行编辑。 这是我将字符串转换为加密格式所做的: public static String encrypt(String source) { String md5 = null; try { MessageDigest mdEnc = MessageDigest.getInstance(“MD5”); //Encryption algorithm mdEnc.update(source.getBytes(), 0, source.length()); md5 = new BigInteger(1, mdEnc.digest()).toString(16); // Encrypted string } catch (Exception ex) { return null; } return md5; } 我不知道如何将加密格式转换为字符串来编辑密码。