获取文件的md5(java & php)

利用抖音Cookie充值接口提取支付链接,调起原生微信h5支付宝h5支付 最近开始搞一些个人支付通道的开发,方便个人不用和第三方平台签约就能收款,省去很多流程手续的成本。 然后翻了一下网上并没有太多现成的技术教程,只能自己研究着搞了。 这次要分享的是利用抖音的充值接口,去分析提取出支付链接,分别包含微信原生支付的h5支付链接,和支付宝h5支付链接。 微信h5支付: 抖币充值,抖音充值,抖音直播充值官方入口 - 抖音 支付宝h5支付 抖币充值,抖音充值,抖音直播充值官方入口 - 抖音 整个开发流程思路是以下几步: 1.抓包分析抖音的充值的整个流程,提取关键的一些 阅读详情

每个文件都可以用MD5验证程序算出一个固定的md5码来,它是一个文件的文件签名,可用于验证自己下载的软件是否为原版。百度网盘的“秒传”应该也用到了这个,即上传之前首先计算该文件的md5值,然后看服务器上有没有该文件,有的话从服务端直接拷贝,节省上传时间和降低网络负担。

java的MD5util类:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MD5FileUtil {
	private static final Logger logger = LoggerFactory
			.getLogger(MD5FileUtil.class);
	protected static char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6',
			'7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
	protected static MessageDigest messagedigest = null;
	static {
		try {
			messagedigest = MessageDigest.getInstance("MD5");
		} catch (NoSuchAlgorithmException e) {
			logger.error("MD5FileUtil messagedigest初始化失败", e);
		}
	}

	public static String getFileMD5String(File file) throws IOException {
		FileInputStream in = new FileInputStream(file);
		FileChannel ch = in.getChannel();
		MappedByteBuffer byteBuffer = ch.map(FileChannel.MapMode.READ_ONLY, 0,
				file.length());
		messagedigest.update(byteBuffer);
		return bufferToHex(messagedigest.digest());
	}

	public static String getMD5String(String s) {
		return getMD5String(s.getBytes());
	}

	public static String getMD5String(byte[] bytes) {
		messagedigest.update(bytes);
		return bufferToHex(messagedigest.digest());
	}

	private static String bufferToHex(byte bytes[]) {
		return bufferToHex(bytes, 0, bytes.length);
	}

	private static String bufferToHex(byte bytes[], int m, int n) {
		StringBuffer stringbuffer = new StringBuffer(2 * n);
		int k = m + n;
		for (int l = m; l < k; l++) {
			appendHexPair(bytes[l], stringbuffer);
		}
		return stringbuffer.toString();
	}

	private static void appendHexPair(byte bt, StringBuffer stringbuffer) {
		char c0 = hexDigits[(bt & 0xf0) >> 4];
		char c1 = hexDigits[bt & 0xf];
		stringbuffer.append(c0);
		stringbuffer.append(c1);
	}

	public static boolean checkPassword(String password, String md5PwdStr) {
		String s = getMD5String(password);
		return s.equals(md5PwdStr);
	}

	public static void main(String[] args) throws IOException {
		long begin = System.currentTimeMillis();

		File big = new File("D:\\temp\\jre-7u11-linux-i586.tar.gz");
		String md5 = getFileMD5String(big);

		long end = System.currentTimeMillis();
		System.out.println("md5:" + md5);
		System.out.println("time:" + ((end - begin) / 1000) + "s");

	}

}

php

例子1:

<?php
$filename = "test.txt";
$md5file = md5_file($filename);
echo $md5file;
?>

会输出类似下面一串字符:
5d41402abc4b2a76b9719d911017c592

例子 2  存储 "test.txt" 文件的 MD5 散列:
<?php
$md5file = md5_file("test.txt");
file_put_contents("md5file.txt",$md5file);
?>

//在本例中,我们将检测 "test.txt" 是否已被更改(即是否 MD5 散列已被更改):

<?php
$md5file = file_get_contents("md5file.txt");
if (md5_file("test.txt") == $md5file)
  {
  echo "The file is ok.";
  }
else
  {
  echo "The file has been changed.";
  }
?> 


 输出:
The file is ok.



月薪2万+的网络工程师,到底藏着哪些“绝活”? 在IT圈,网络工程师是个既神秘又硬核的职业。月薪2万+的网工,早已不是只会拉网线、改IP的“IT民工”,而是掌握了一身“绝技”的技术大牛。他们能让企业网络如丝般顺滑,面对宕机临危不乱,还能用自动化脚本批量搞定上百台设备。想知道这些高薪网工的秘密武器是什么?今天,我就以一个老网工的视角,结合自己和同行们的实战经验,扒一扒那些月薪2万+的网络工程师都身怀哪些绝技。如果你也想挤进高薪行列,不妨参考参考! 阅读详情

相关推荐

2025小红书跳转卡片实战指南:从零搭建独立后台与自动化发卡系统

本文提供了一份2025年小红书跳转卡片的实战搭建指南,详细解析了独立后台系统的核心架构与自动化发卡流程。文章从零开始,手把手教你使用Node.js、Vue.js等技术栈构建包含后台管理、用户制卡中心与前端交互的完整系统,旨在帮助运营者实现合规引流,并掌握数据自主权与自动化运营能力。

weixin_29234423的博客 517

MD5加密特点及Java实现

MD5()消息 摘要 算法,属Hash算法一类。MD5算法对输入任意长度的消息进行运算,产生一个MD5的固定长度为128比特,16字节,通常用16进制字面值输出,是一个长度为32位的字符串。我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码。加Salt可以一定程度上解决这一问题。所谓加Salt方法,就是加点“佐料”(Salt这个单词就是盐的意思)。

qq_46646934的博客 2232

Podman修改镜像源教程(附最新docker镜像源)

Podman修改镜像源教程(附最新docker镜像源)

道长的博客 4141

php java md5加密_在java中实现php的md5加密

strtoupper是字母大写转换的函数md5是MD5加密的函数$_GET["md5str"]就是通过url带一个md5str的参数,把值获取并打印出来2、JAVA页面的提交方法/*** 用于做PHP的提交处理* @param url*/public static String phpRequest(String url){try{HttpClient client = new HttpClien...

weixin_30533301的博客 470

PCB线路板的制作工艺流程分享!2021-08-21

Pcb板制作工艺流程:开料-钻孔-沉铜-压膜-曝光-显影-电铜-电锡-退膜-蚀刻-退锡-光学检测-印阻焊油-阻焊曝光、显影-字符-表面处理-成型-电测-终检-抽测-包装。具体如下:1、开料(CUT) 将原始的覆铜板切割成可以用在生产线上制作的板子过程2、钻孔 使PCB板层间产生通孔,以达到连通层间的目的。 3、沉铜 经过钻孔后的线路板在沉铜缸内会发生氧化还原反应,形成铜层对孔进行孔金属化,使原来绝缘的基材表面沉积上铜,达到层间电性相通。 4、压膜 压膜后的PCB板上面压了一层蓝色的干膜, 干膜是一个载体

jdbpcb88的博客 3246

ChatBI实战:如何用Vanna和WrenAI搭建企业级智能问数系统(附避坑指南)

本文详细介绍了如何利用Vanna和WrenAI搭建企业级智能问数系统(ChatBI),解决多源异构数据整合、语义理解准确率和系统性能安全等核心挑战。通过实战案例和优化策略,展示了这一组合方案在提升查询效率、实现业务自主分析和动态探索式分析方面的显著优势,特别适合企业级数据查询需求。

weixin_29047919的博客 399

php md5 file算法原理,MD5算法原理与实现

//MessageDigestAlgorithm5.cpp#include"stdafx.h"#include"MessageDigestAlgorithm5.h"constByteCMessageDigestAlgorithm5::g_Padding[64]={0x80};//第一位补1,其他补0CMessageDigestAlgorithm5::CMessageDigestAlg...

weixin_36445866的博客 395

RT-DETR改进策略【卷积层】| CGblock 内容引导网络 利用不同层次信息,提高多类别分类能力 (含二次创新)

本文记录的是利用中的模块优化的目标检测网络模型。通过局部特征提取器、周围环境提取器、联合特征提取器和全局环境提取器来提取局部特征、周围环境和全局环境信息,充分利用不同层次的信息。本文将其应用到中,并进行二次创新,使网络能够更好的处理多类别目标的分类能力。CGNet: A Light-Weight Context Guided Network for Semantic Segmentation1️⃣ 首先通过局部特征提取器floc(∗)floc(*)floc(∗)和周围环境提取器fsur(∗)f_{sur }

Limiiiing的博客 1349

java实现phpmd5加密_如安在java中完成php的md5加密_后端开发

在java中完成php的md5加密的要领:起首搭建好php的环境;然后写一个经由过程提取get参数,并对值举行md5加密的页面;末了在JAVA页面举行提交。 在java中完成php的md5加密的要领:1、搭建好php的环境(不作引见),写一个经由过程提取get参数,并对值举行md5加密的页面,以下strtoupper是字母大写转换的函数md5是MD5加密的函数$_GET["md5str"]就是经由...

weixin_39769627的博客 390

主流反爬虫、反作弊防护与风控对抗手段

主流反爬虫、反作弊风控防护中的核心设计点与对抗策略

吴秋霖的博客 2554

【PostgreSQL教程】PostgreSQL 高级篇之子查询

子查询也可称为内部查询、嵌套查询,指的是在 PostgreSQL 查询中的 WHERE 子句中嵌入查询语句。一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询可以与 SELECT、INSERT、UPDATE 和 DELETE 语句一起使用,并可使用运算符如 =、、>=、

No8g攻城狮的博客 1206

PHP的md5 java实现

解决java的md5与PHP的md5结果不同的问题 public final class MD5 { /** * 获取MD5加密后的字符串 * @param str 明文 * @return 加密后的字符串 * @throws Exception */ public static String ge...

秋天的博客 1664

编写python脚本调用ordinals以及BRC20的接口

1、钱包地址生成walletreceive,对应ord命令:ord wallet receive。6、测试手动出块generate,这个只在regtest链节点用得上。所有接口都是post请求,采用postman进行测试。4、测试bitcoin转币sendtoaddress。7、测试其他的wallet方法wallet。2、钱包币种铭刻inscription,对应bitcoin-cli命令。对应bitcoin-cli命令。对应bitcoin-cli命令。fee.json文本模板。还可以加很多根据需要加减。

云深海阔专栏 1047

php和java md5 不同,JAVA 和 PHP md5 加密后的值不一致

想要将一段 JAVA 实现的一致性哈希用 PHP 代码实现出来,但是不太懂 JAVA, 搜索了下资料大概知道是因为 JAVA 和 PHP md5 加密后的值对不上,所以问题变成了如何用 PHP 代码实现 JAVA 已经写好的 md5 加密,JAVA 代码省略了部分非关键代码import java.io.UnsupportedEncodingException;import java.securit...

weixin_29048309的博客 1180

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java实现与PHP兼容的MD5加密技术详解

本文介绍了Java实现与PHP兼容的MD5加密技术。主要内容包括:MD5算法特性概述;Java中实现与PHP结果一致的MD5加密方法,重点解决字符编码差异问题;提供性能优化版本和文件MD5校验扩展实现;讨论了MD5的安全局限性和替代方案(如SHA-256、bcrypt)。文章通过测试用例验证了Java与PHP的MD5结果一致性,并解答了常见问题。虽然MD5已不推荐用于安全场景,但在非安全领域仍有应用价值。

wolf23151269的博客 908

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java md5和php通用_JAVA 和 PHP md5 加密后的值不一致

想要将一段 JAVA 实现的一致性哈希用 PHP 代码实现出来,但是不太懂 JAVA, 搜索了下资料大概知道是因为 JAVA 和 PHP md5 加密后的值对不上,所以问题变成了如何用 PHP 代码实现 JAVA 已经写好的 md5 加密,JAVA 代码省略了部分非关键代码import java.io.UnsupportedEncodingException;import java.securit...

weixin_28888459的博客 968

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

html md5文件存储位置,获取文件md5 怎样计算远程文件的MD5?

如何通过javascript获得文件的md5值?第一步生成md5 hash串: var reader = new FileReader(); reader.onload = function(callback) { var md5 = rstr2hex(binl2rstr(binl_md5(reader.result, reader.result.length))); } document.get...

weixin_42210038的博客 482

PHP转JAVA字节MD5加密

对接第三方数据过程中 JAVA加密方法为 DigestUtils.md5Hex("123456".getBytes()); PHP对应代码 /** * Class JavaMd5Hex * 使用方式 * $this-&gt;encodeHexString($this-&gt;md5Hex($str)); */ class JavaMd5Hex { /** *...

fendouweiqian的博客 1082

golang、java和php实现32位md5加密

php版本如下 &lt;?php $str = "Shanghai"; echo md5($str); ?&gt; java版本如下: package com.yarm.task.common.utils; import org.apache.commons.lang3.StringUtils; import java.security.MessageDigest; import j...

niki_yang 1814

PHP中MD5函数漏洞

题目描述 一个网页,不妨设URL为http://haha.com,打开之后是这样的 if (isset($_GET['a']) and isset($_GET['b'])) { if ($_GET['a'] != $_GET['b']) { if (md5($_GET['a']) === md5($_GET['b'])) { echo ('...

837

php与java md5和base64加密

写在前面的话 签名方式 java实现方式 php实现方式 Bytes类 加密方法 关于pach/unpack 写在前面的话 很久没有更新博客了,感觉很惭愧,真的很惭愧!!! 最近正好在用php对接java的接口,数据在传输过程中涉及到了对数据的签名校验,经过一番折腾,这里整理一下关于php和java各自...

五环小胖子的博客 775

java实现php md5加密解密,JAVA 和 PHP md5 加密后的值不一致

想要将一段 JAVA 实现的一致性哈希用 PHP 代码实现出来,但是不太懂 JAVA, 搜索了下资料大概知道是因为 JAVA 和 PHP md5 加密后的值对不上,所以问题变成了如何用 PHP 代码实现 JAVA 已经写好的 md5 加密,JAVA 代码省略了部分非关键代码import java.io.UnsupportedEncodingException;import java.securit...

weixin_35949431的博客 436

Java 调用MD5

* Live800Encode.java package com.goldarmor.live800.util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Live800Encode { private final static Str...

fareast_mzh的博客 867

java实现phpmd5加密_在java中实现php中md5加密的方法

在java中实现php中md5加密的方法发布时间:2020-08-13 09:55:57来源:亿速云阅读:103作者:小新这篇文章将为大家详细讲解有关在java中实现php中md5加密的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在java中实现php的md5加密的方法:首先搭建好php的环境;然后写一个通过提取get参数,并对值进行md5加密的页面;最后...

weixin_34080081的博客 612

测试单个php文件获取的值,获取单个文件的MD5值

版本0/*** 获取单个文件的MD5值!** @param file* @return*/public static String getFileMD5(File file) {if (!file.isFile()) {return null;}MessageDigest digest = null;FileInputStream in = null;byte buffer[] = new byt...

weixin_39840729的博客 261

JAVA的DigestUtils.md5Hex 在php的写法

前段时间对接接口只提供了java的实例文档 其中 采用签名算法鉴权 本人是个java小白 但是本着语言都有些相通性去理解 java中的DigestUtils.md5Hex 相当于PHP中的md5加密 但是在过程中发现 php的MD5加密跟java中的DigestUtils.md5Hex 如果是简单的 字符串 如12345 这样的 结果是一样的 但是针对复杂的字符串 加密结果 有出入 所以整理了下面的 写法 使用方法为:调用 md5Hex($newstr);n e w s t r 为 要 处 ...

ol753的博客 966
上一篇: struts1 开发流程
下一篇: java基础:集合(七)
君子陌
博客等级 码龄17年 8粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值