sha256

落日映苍穹つ 2022-07-03 23:39 274阅读 0赞
  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.math.BigInteger;
  4. import java.security.MessageDigest;
  5. public class SHA256File {
  6. String official_checksum = "";
  7. void OnEncFile() {
  8. System.out.println("Getting file...");
  9. File file = new File("/datas/upload/zip/bankcode_NJCBCNBN123444_20170328095225.zip");
  10. if (file.exists()) {
  11. System.out.println("File got.");
  12. } else {
  13. System.err.println("File not got.");
  14. }
  15. System.out.print("Calcuclating SHA-256 checksum......");
  16. String FileSHA256 = getFileSHA256(file);
  17. System.out.println();
  18. System.out.println("File's SHA-256 checksum is: ");
  19. System.out.println(FileSHA256);
  20. System.out.println(official_checksum + " --- the official checksum");
  21. if (official_checksum.equals(FileSHA256)) {
  22. System.out.println("SHA-256 checksums are the same.");
  23. } else {
  24. System.err.println("SHA-256 checksums differ!!!!");
  25. }
  26. }
  27. public static String getFileSHA256(File file) {
  28. // if (!file.isFile()) {
  29. //
  30. // System.err.println("not file");
  31. //
  32. // return null;
  33. //
  34. // }
  35. MessageDigest digest = null;
  36. FileInputStream in = null;
  37. byte buffer[] = new byte[1024];
  38. int len;
  39. try {
  40. digest = MessageDigest.getInstance("SHA-256");
  41. in = new FileInputStream(file);
  42. while ((len = in.read(buffer, 0, 1024)) != -1) {
  43. digest.update(buffer, 0, len);
  44. }
  45. in.close();
  46. } catch (Exception e) {
  47. e.printStackTrace();
  48. return null;
  49. }
  50. BigInteger bigInt = new BigInteger(1, digest.digest());
  51. return bigInt.toString(16);
  52. }
  53. public static void main(String[] args) {
  54. new SHA256File().OnEncFile();
  55. }
  56. }

发表评论

表情:
评论列表 (有 0 条评论,274人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SHA 256算法

    1. SHA 256算法是什么 要理解SHA 256算法,我们需要先解释哈希函数。哈希函数又称散列函数,是将任何长度的信息转换为另一个值的过程。本质上,它包含数据块,这些

    相关 SHA256WithRSA

    在[上文][Link 1]中了解到SHA和RSA,工作中恰好用到扩展应用:SHA256WithRSA,本文总结下学习过程,备忘の 再提供另外一种方法,实现Java版pem密