JavaSE——MD5、16位流

本文介绍了MD5加密的基本原理及其应用,详细说明了如何利用MD5加密来确保文件的一致性和唯一性,并探讨了网盘如何通过计算文件的MD5值实现文件的快速上传与存储优化。

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

MD5:

介绍:文件生成一把MD5钥匙,就是给文件产生一个MD5的钥匙,MD5是一把密文,但是这个加密可加不可解,能加密过去,但是解不回来,加密长度为32位,加密的好处就是,只要是同样的文本,那它加密出来的MD5就是一样的,只要计算出相差字节的一个数字,那计算出来的MD5就不一样
以下周边信息只是寄存在你的磁盘上,并没有寄存在你的文件之中
文件周边信息:
1.时间
2.权限
3.显示隐藏
4.作者…

文件内容分为两个部分:
头就是对这个文件的描述,内容是这个文件的具体数据
1.头部分
2.内容

网盘的文件优化:
把每个文件制作出MD5 然后别人上传的时候比较一下库里有没有此文件,如果有就秒传,计算MD5出来你就可以节省你的空间了,就不用存储那么多重复的文件了

MD5一般都是直接哪别人的来用,很少自己写,如下图:

image

image

image

写个测试类,然后就可以生成MD5钥匙了

image

image

16位流(字符):

介绍:输出和输入的是char类型,如何识别是16位流,只要看后面是不是Reader和Writer就行了

Reader (读)
FileReader
BufferedReader
InputStreamReader
CharArrayReader

Writer (写)
FileWriter
BufferedWriter
OutputStreamWriter
CharArrayWriter
PrintWriter

如下图就是FileWriter 还可以追加,\r是八位换行,\n是十六位换行

image

加BufferedWriter也是可以的,就是建立一个缓冲区

image

可以加一个bufferedReader来读,readLine每次只读一行,没有的话就返回空

image

给你InputStream转16位

image

把八位流转换成十六位流,然后进行输出

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值