文件md5验证生成器(java版)

2023-11-09

  1. import java.applet.*;   
  2. import java.io.*;   
  3. import java.security.*;   
  4.   
  5. public class HashFile {   
  6.     public static char[] hexChar = {'0''1''2''3',   
  7.                                    '4''5''6''7',   
  8.                                    '8''9''a''b',   
  9.                                    'c''d''e''f'};   
  10.     public static void main(String[] args) throws  
  11.             Exception {   
  12.         String fileName = "D://programs//Foxmail.rar";   
  13.         String hashType = "MD5";   
  14.         System.out.println(hashType + " == " +   
  15.                            getHash(fileName, hashType));   
  16.         hashType = "SHA1";   
  17.         System.out.println(hashType + " == " +   
  18.                            getHash(fileName, hashType));   
  19.         hashType = "SHA-256";   
  20.         System.out.println(hashType + " == " +   
  21.                            getHash(fileName, hashType));   
  22.         hashType = "SHA-384";   
  23.         System.out.println(hashType + " == " +   
  24.                            getHash(fileName, hashType));   
  25.         hashType = "SHA-512";   
  26.         System.out.println(hashType + " == " +   
  27.                            getHash(fileName, hashType));   
  28.   
  29.     }   
  30.   
  31.     public static String getHash(String fileName, String hashType) throws  
  32.             Exception {   
  33.         InputStream fis;   
  34.         fis = new FileInputStream(fileName);   
  35.         byte[] buffer = new byte[1024];   
  36.         MessageDigest md5 = MessageDigest.getInstance(hashType);   
  37.         int numRead = 0;   
  38.         while ((numRead = fis.read(buffer)) > 0) {   
  39.             md5.update(buffer, 0, numRead);   
  40.         }   
  41.         fis.close();   
  42.         return toHexString(md5.digest());   
  43.     }   
  44.   
  45.     public static String toHexString(byte[] b) {   
  46.         StringBuilder sb = new StringBuilder(b.length * 2);   
  47.         for (int i = 0; i < b.length; i++) {   
  48.             sb.append(hexChar[(b[i] & 0xf0) >>> 4]);   
  49.             sb.append(hexChar[b[i] & 0x0f]);   
  50.         }   
  51.         return sb.toString();   
  52.     }   
  53. }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文件md5验证生成器(java版) 的相关文章

  • 上传进度条 Java Servlet?

    我想使用 servlet 显示上传进度条 我尝试过Ajax iFrame 技术 页面没有重新加载 文件也被上传 但是 进度条没有出现 有没有可用于 javaservlts 的 jQuery 进度插件 Thanks 我强烈推荐jQuery 上
  • 枚举的子类化

    有没有一种简单的方法来子类化Javaenum 我问这个问题是因为我有大约 10 个实现相同接口的对象 但它们对某些方法也有相同的实现 因此我想通过将所有相同的实现放置在扩展的中间对象中来重用代码Enum它也是我需要的所有其他类的超类 或许事
  • Java将字符串解析为double

    如何解析字符串中的这个 Double 00034800 变成 Double 值 最后两位数字实际上是小数点 所以我正在寻找的结果是348 00 是否有这样的格式可以与十进制格式一起使用 Well String s 00034800 doub
  • 使用 proguard 混淆文件名

    我正在使用 proguard 和 Android Studio 混淆我的 apk 当我反编译我的apk时 我可以看到很多文件 例如aaa java aab java ETC 但我项目中的所有文件都有原始名称 有没有办法混淆我的项目的文件名
  • Kafka - 如何同时使用过滤器和过滤器?

    我有一个 Kafka 流 它从一个主题获取数据 并且需要将该信息过滤到两个不同的主题 KStream
  • Java 中的 <-- 是什么? [复制]

    这个问题在这里已经有答案了 我遇到了下面的片段 它输出到4 3 2 1 我从来没有遇到过 lt 在爪哇 Is lt 使 var1 的值变为 var2 的运算符 public class Test public static void mai
  • 以相反的顺序打印任何集合中的项目?

    我在 使用 Java 进行数据结构和问题解决 一书中遇到以下问题 编写一个例程 使用 Collections API 以相反的顺序打印任何 Collection 中的项目 不要使用 ListIterator 我不会把它放在这里 因为我想让有
  • Java LostFocus 和 InputVerifier,按反向制表符顺序移动

    我有一个 GUI 应用程序 它使用 InputVerifier 在产生焦点之前检查文本字段的内容 这都是很正常的 然而 昨天发现了一个问题 这似乎是一个错误 但我在任何地方都找不到任何提及它的地方 在我将其报告为错误之前 我想我应该问 我在
  • 查看Java Agent修改的Java类的源代码

    我需要了解 Java 代理如何修改我的初始类 以便我能够理解代码的作用 build gradle configurations jar archiveName agent2 jar jar manifest attributes Prema
  • 什么是内部类的合成反向引用

    我正在寻找应用程序中的内存泄漏 我正在使用的探查器告诉我寻找这些类型的引用 但我不知道我在寻找什么 有人可以解释一下吗 Thanks Elliott 您可以对 OUTER 类进行合成反向引用 但不能对内部类实例进行合成 e g class
  • 为什么 jar 执行的通配符在 docker CMD 中不起作用?

    我有一个Dockerfile与以下CMD启动我的 Spring Boot 应用程序 FROM java 8 jre CMD java jar app file jar 当我尝试从创建的图像启动容器时 我得到 Error Unable to
  • 使用 JDBC 连接到 PostgreSql 的本地实例

    我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例 当我使用psql来自 shell 的命令我成功登录 没有任何问题 我需要通过 JDBC 连接到 PostgreSql 但我不知道我到底应该传递什么url参数为Driv
  • IntelliJ Idea:将简单的 Java servlet(无 JSP)部署到 Tomcat 7

    我尝试按照教程进行操作here http wiki jetbrains net intellij Creating a simple Web application and deploying it to Tomcat部署 servlet
  • 我们如何使用 thymeleaf 绑定对象列表的列表

    我有一个表单 用户可以在其中添加任意数量的内容表对象这也可以包含他想要的列对象 就像在 SQL 中构建表一样 我尝试了下面的代码 但没有任何效果 并且当我尝试绑定两个列表时 表单不再出现 控制器 ModelAttribute page pu
  • Azure Java SDK:ServiceException:ForbiddenError:

    尝试了基本位置检索器代码 如下所示 String uri https management core windows net String subscriptionId XXXXXXXX 5fad XXXXXX 9dfa XXXXXX St
  • 我所有的 java 应用程序现在都会抛出 java.awt.headlessException

    所以几天前我有几个工作Java应用程序使用Swing图书馆 JFrame尤其 他们都工作得很好 现在他们都抛出了这个异常 java awt headlessexception 我不知道是什么改变了也许我的Java版本不小心更新了 谢谢你尽你
  • Selenium 单击在 Internet Explorer 11 上不起作用

    我尝试在 Internet Explorer 上单击 selenium 但它不起作用 我努力了element click moveToElement element click build perform javascript没事了 事实上
  • 如何让 Firebase 与 Java 后端配合使用

    首先 如果这个问题过于抽象或不适合本网站 我想表示歉意 我真的不知道还能去哪里问 目前我已经在 iOS 和 Android 上开发了应用程序 他们将所有状态保存在 Firebase 中 因此所有内容都会立即保存到 Firebase 实时数据
  • 关闭扫描仪是否会影响性能

    我正在解决一个竞争问题 在问题中 我正在使用扫描仪获取用户输入 这是 2 个代码段 一个关闭扫描器 一个不关闭扫描器 关闭扫描仪 import java util Scanner public class JImSelection publ
  • GAE 无法部署到 App Engine

    我正在尝试从 Eclipse 发布 Web 应用程序 我在 GAE 上创建了四个项目 可以通过登录我的帐户并查看控制台来查看它们 我已经改变了appengine web xml到项目的应用程序 ID 如果我将其更改为 GAE 上第一个创建的

随机推荐

  • C语言字符串逆转

    define CRT SECURE NO WARNINGS include
  • shell编程一百例 day-1

    shell编程一百例 今晚份 能力有限 未按顺序 未完待续 1 输出 Hello World 2 猜数游戏 3 键盘输入三个数 升序输出
  • 麒麟系统调试

    一 raid 报错 mdadm RUN ARRAY failed Invalid argument 原因 zcat proc config gz 查看配置 驱动未加载全 解决办法 modprobe dm raid modprobe raid
  • 一道经典的C++题,关于分钱的问题,适合新手阅读(黑客X档案论坛题目) [c#]...

    前几天CSDN论坛的首页 看到一则帖子 题目是 一道经典的C 题 关于分钱的问题 适合新手阅读 黑客X档案论坛题目 链接如下 http blog csdn net gisfarmer archive 2009 02 08 3869236 a
  • 手术导航系统原理简介、主要工作及应用

    目录 1 手术导航系统简介 2 手术导航系统的工作原理及构造 3 手术导航系统通常需完成四项主要工作
  • 在Windows10环境安装CUDA11.7及PyTorch1.13--使用Nvidia RTX A4000开始炼丹之旅

    在Windows10环境安装CUDA11 7及PyTorch1 13 使用Nvidia RTX A4000开始炼丹之旅 前言 这个双十一 RTX3090矿卡反倒是涨价了 RTX3090Ti当然也涨价了 只好从x宝搞一只工包丽台RTX A40
  • QScintilla应用(1) 安装及简介

    相关网址 下载地址 在线文档 1 下载并解压 将下载的压缩包解压之后 得到以下目录结构 目录结构含义如下 目录名 用途 Qt4Qt5 编译文件夹 生成对应的DLL文件 designer Qt4Qt5 相关的设计师插件的编译文件夹 examp
  • C++ DLUT 上机作业(一)

    文章目录 C DLUT 上机作业 一 1 定义一个分数类如下 要求实现分数的初始化与设置 四则运算及约分以及输出等功能 并在主函数中测试 2 定义并测试日期类 Date 类包括私有数据成员 year month day 公有成员函数实现以下
  • SpringBoot中通过住注解方式使用Redis

    1 SpringBoot中Redis缓存注解的使用 首先在启动类上添加 enableCache注解 表示开始注解缓存功能 特别注意 Spring框架中所有的注解都是通过AOP的原理实现的 即Spring框架为我们创建代理对象 代理对象去实现
  • chatgpt赋能python:Python画布大小是如何设置的

    Python画布大小是如何设置的 介绍 在Python中 我们可以使用各种GUI库来绘制图形界面 无论您是使用Tkinter PyQt还是wxPython 设置画布大小都是一个必须了解的重要概念 画布大小决定了我们可以在屏幕上呈现多少信息
  • Docker技术入门

    文章目录 1 Dockerfile概念 2 Dockerfile 指令 FROM 指定基础镜像 RUN执行命令 CMD 容器启动命令 COPY 复制文件 ADD 更高级的复制文件 ENV 设置环境变量 ARG 构建参数 VOLUME 定义匿
  • 通达信板块监控指标_通达信板块监测指标公式

    通达信板块监测指标公式 稀缺资源 SUM 880505 C REF 880505 C 1 1 1000 0 COLORWHITE 军工航天 SUM 880507 C REF 880507 C 1 1 1000 0 COLORRED 智能电网
  • 小米路由器4A千兆版更换5G芯片和硬件布局后出现的刷机问题

    最近又入手一台小米路由器4A千兆版 打算通过 CH341A 编程器刷成老毛子的 结果一拆机傻眼了 整个电路板上的芯片和硬件布局都换了 这是老板子 这是新板子 两张图可以很清楚的看到有很大的变化 那么 之前的那种刷机方式还管用吗 经过测试后出
  • 程序员水平10分级,你的水平属于哪一级?

    随着技术发展 编程悄然融入了我们的生活 我们已然离不开那些程序和编程语言 很多人都在不同程度地谈论着如何编程 也诞生出很多编程语言排行 那么程序员到底应该如何分级呢 首先要明白什么是程序员 设计自己的Apache Web服务器的家伙 制作一
  • css3动画属性解析:【transform -变形】

    前两篇一起学习了animation和transition 的使用 今天我们终于开始学习transform和translate了 其实translate只是transform的一个属性 只是很多初学者对transform 变形 transla
  • Java 数据库中文变成问号???解决办法

    在连接的URL地址后面加上 url jdbc mysql localhost 3306 test useUnicode true characterEncoding utf8 于是在正式项目里面还发现一个 用于批处理的 还是加上吧 免得以后
  • CRC校验详解(附代码示例)

    目录 1 CRC校验原理 2 生成多项式 3 以CRC 16校验为例讲解编程实现 3 3 1 完全按照CRC原理实现校验 3 3 2 工程中常用CRC校验过程 3 3 3 改进的CRC校验过程 4 以CRC 8校验为例讲解查表法 5 以CR
  • IO和NIO

    什么是I O模型 通常情况下I O操作是比较耗时的 所以为了高效的使用硬件 应用程序可以专门设置一个线程进行I O操作 而另外一个线程则利用CPU的空闲去做其他计算 这种为提高应用执行效率而采用的I O操作方法称为I O模型 当然了 在网络
  • 哪种程序员最挣钱?平均月薪30.8K,网友说这是掌握世界的技术

    20出头 工作没有方向 人生迷茫 这是很多同学都会遇到的情况 播妞经常收到男生粉丝的私信问我 到底学什么技术好啊 确实 男生没一门扎实的技能在手 生活和工作的压力都会很大 虽说条条大路通罗马 但是行业之间的差距还是很大的 如何选择一门高薪且
  • 文件md5验证生成器(java版)

    import java applet import java io import java security public class HashFile public static char hexChar 0 1 2 3 4 5 6 7