CN109218011A - 一种基于md5的移动终端多媒体资源验证方法 - Google Patents
一种基于md5的移动终端多媒体资源验证方法 Download PDFInfo
- Publication number
- CN109218011A CN109218011A CN201811042523.7A CN201811042523A CN109218011A CN 109218011 A CN109218011 A CN 109218011A CN 201811042523 A CN201811042523 A CN 201811042523A CN 109218011 A CN109218011 A CN 109218011A
- Authority
- CN
- China
- Prior art keywords
- file
- byte
- resource
- abstract
- mobile terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
一种基于MD5的移动终端多媒体资源验证方法,涉及一种文件加密技术。本方法基于MD5信息摘要算法的压缩性、抗修改性、强抗碰撞特点,通过自身设计的字符串拼接规则、资源文件截取规则,生成固定长度的加密码用于验证资源文件的正确性。该技术目前主要应用于本公司的特殊人群帮教移动终端中,对于从服务端下载的资源文件进行加密,在使用时对文件再次获取加密码,并与下载时比对。与现有技术相比,解决多个资源文件集合同时校验,保障集合内所有资源文件与服务端一致,防止集合内某一文件被修改、替换或资源文件整体发生变动,任何微小的单字节变动都将被验证。
Description
技术领域
本发明涉及一种文件加密技术。
背景技术
由于监狱特殊环境的高安全性要求,对于服刑人帮教工作信息化的低风险控制要求,使得整个监狱环境电子信息化水平较低,阻碍了高新技术的全面化推广实施。在这个特殊环境中为解决传统帮教模式的诸多不便,推动相关工作的发展,帮助服刑人员更好的改造,提升干警的帮教工作落实效果,提升监狱管理水平,在该行业中展开电子信息化的特性优点,就必须首先要筑起安全的堡垒,解决信息完全问题,控制用户使用权限。
在服刑人帮教移动终端中,对于可播放的音频、视频、图书类多媒体资源的限制及校验较为宽松,是监狱应用中出现一些非法替换资源、非法删除资源、非法存储资源的情况,在监狱的监管环境中此类情况是不允许出现的,因受限环境中只能观看使用监狱监管允许的资源,为加强此方面管理,需要对资源文件传输、移动终端本地存储、移动终端资源文件使用等几方面进行优化处理,寻求加密解决方案,于是基于MD5的方法应运而生。
Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc.April1992)。MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理。MD5是目前最为普遍公认的算法,通过算法可得到一组不可逆的信息摘要哈希值。市场对于它的使用方式各不相同,普遍是通过方法直接生成摘要,虽然目前没有软件能有效地破解MD5。但有些软件通过把常见字符串的MD5存了起来为彩虹表,然后直接反查,出现风险。那就需要我们对需要处理的数据进行多次的处理,来避免反查情况的出现。
发明内容
本发明针对现有技术中的不足,提供了一种基于MD5的移动终端多媒体资源验证方法,解决多个资源文件集合同时校验,保障集合内所有资源文件与服务端一致,防止集合内某一文件被修改、替换或资源文件整体发生变动,任何微小的单字节变动都将被验证。
为了解决上述技术问题,本发明通过下述技术方案得以解决,一种基于MD5的移动终端多媒体资源验证方法,其特征为,包括以下几个步骤:步骤A:对通过参数传入的资源文件的路径URL字符串进行判断,如果传入URL路径是资源文件则直接读取,如果是文件夹则通过循环读取文件夹下的资源文件;步骤B:获得资源文件的文件流后,判断文件的字节大小是否超过N字节,如文件小于等于N字节,对于文件流不做处理,如文件大于N字节,则运用跳位截取方法对文件流进行截取,读取流前M个字节,其中M小于N/2,然后根据文件字节总长/2得到文件中间位,跳至中间,继续读取M个字节,再然后跳至文件字节总长-M位置,读取最后M个字节;步骤C:利用MD5对读取的字节数组获取信息摘要,摘要公式为MessageDigestmd=MessageDigest.getInstance("MD5"),md.update(读取的字节数组,0,读取的长度),byte[]bytes=md.digest(),md.reset(),如果小于N则读取的长度为文件总长度;步骤D:对信息摘要字节数组,转化为十六进制拼接字符串。循环字节数组,读取bytes[i],使用‘与’运算与0xFF结合,然后转化为十六进制字符串,环此步骤来拼接完整整个字节数组转化后的字符串;步骤E:通过上述步骤得到单个资源文件的信息摘要字符串,如果是文件夹则循环这几个步骤,将文件内所有资源文件的信息摘要转换为一个整体的字符串;步骤F:将得到的资源文件信息摘要字符串,从本地数据库中获取当前服刑人员编号、监区、监狱等用户信息,对信息进行处理获取摘要,与资源文件信息摘要字符串拼接,再转化为字节数组,并再次进行MD5处理获取摘要,并对摘要进行十六进制字符转化,得到新的字符串;步骤G:利用移动终端封装的Android***,使用so库文件获取单片机中的机器序列号,与信息摘要字符串拼接,并增加带有唯一性质的标识字符串,转化为字节数组,再次进行MD5处理,最终再次进行十六进制字符转化,得到最终的字符串;步骤H:服刑人员在使用移动终端时,在资源市场中订阅需要的资源文件,通过OTG联网下载资源文件时,首先验证服刑人员身份:编号、监区、监狱、资费等个人信息,然后验证当前移动终端的状态:借阅、入库、离线归还、离线借阅、非法使用等,当服刑人员身份信息、移动终端状态合法时下载订阅的资源文件;步骤I:下载完毕后对文件进行摘要处理,存储于移动终端本地;步骤J:使用资源文件时再次进行摘要处理,并与下载时的摘要进行比对来判断文件是否被篡改,判断服刑人用户信息、移动终端是否合法,是否正常,是否与下载时信息一致,如出现偏差,返回非法信息、非法资源的结果。
本方法基于MD5信息摘要算法的压缩性、抗修改性、强抗碰撞特点,通过自身设计的字符串拼接规则、资源文件截取规则,生成固定长度的加密码用于验证资源文件的正确性。该技术目前主要应用于本公司的特殊人群帮教移动终端中,对于从服务端下载的资源文件进行加密,在使用时对文件再次获取加密码,并与下载时比对。对从服务端下载到的资源文件进行处理,保存摘要,在资源使用时再次生成摘要,并进行比对验证当前资源文件是否为从服务端下载的资源文件。避免资源文件被替换、修改。本方法基于MD5,经过一系列对资源文件的处理和多次信息摘要处理,对于最终数据利用十六进制保存,节省存储空间的同时,保证二进制码的稳定性。方法通过在几个关键节点使用,相互比对校验,保证整个方案流程中资源文件的安全性。
与现有技术相比,解决多个资源文件集合同时校验,保障集合内所有资源文件与服务端一致,防止集合内某一文件被修改、替换或资源文件整体发生变动,任何微小的单字节变动都将被验证。
具体实施方式
下面结合具体实施方式对本发明作进一步详细描述。
实施例1:一种基于MD5的移动终端多媒体资源验证方法,包括以下几个步骤:步骤A:对通过参数传入的资源文件的路径URL字符串进行判断,如果传入URL路径是资源文件则直接读取,如果是文件夹则通过循环读取文件夹下的资源文件;步骤B:获得资源文件的文件流后,判断文件的字节大小是否超过N字节,如文件小于等于N字节,对于文件流不做处理,如文件大于N字节,则运用跳位截取方法对文件流进行截取,读取流前M个字节,其中M小于N/2,然后根据文件字节总长/2得到文件中间位,跳至中间,继续读取M个字节,再然后跳至文件字节总长-M位置,读取最后M个字节;步骤C:利用MD5对读取的字节数组获取信息摘要,摘要公式为MessageDigest md=MessageDigest.getInstance("MD5"),md.update(读取的字节数组,0,读取的长度),byte[]bytes=md.digest(),md.reset(),如果小于N则读取的长度为文件总长度;步骤D:对信息摘要字节数组,转化为十六进制拼接字符串。循环字节数组,读取bytes[i],使用‘与’运算与0xFF结合,然后转化为十六进制字符串,环此步骤来拼接完整整个字节数组转化后的字符串;步骤E:通过上述步骤得到单个资源文件的信息摘要字符串,如果是文件夹则循环这几个步骤,将文件内所有资源文件的信息摘要转换为一个整体的字符串;步骤F:将得到的资源文件信息摘要字符串,从本地数据库中获取当前服刑人员编号、监区、监狱等用户信息,对信息进行处理获取摘要,与资源文件信息摘要字符串拼接,再转化为字节数组,并再次进行MD5处理获取摘要,并对摘要进行十六进制字符转化,得到新的字符串;步骤G:利用移动终端封装的Android***,使用so库文件获取单片机中的机器序列号,与信息摘要字符串拼接,并增加带有唯一性质的标识字符串,转化为字节数组,再次进行MD5处理,最终再次进行十六进制字符转化,得到最终的字符串;步骤H:服刑人员在使用移动终端时,在资源市场中订阅需要的资源文件,通过OTG联网下载资源文件时,首先验证服刑人员身份:编号、监区、监狱、资费等个人信息,然后验证当前移动终端的状态:借阅、入库、离线归还、离线借阅、非法使用等,当服刑人员身份信息、移动终端状态合法时下载订阅的资源文件;步骤I:下载完毕后对文件进行摘要处理,存储于移动终端本地;步骤J:使用资源文件时再次进行摘要处理,并与下载时的摘要进行比对来判断文件是否被篡改,判断服刑人用户信息、移动终端是否合法,是否正常,是否与下载时信息一致,如出现偏差,返回非法信息、非法资源的结果。本方法很好解决移动终端中资源文件的安全问题,监狱管理变的更加有效,帮教工作更加丰富多彩,促进了服刑人的改造工作。
Claims (1)
1.一种基于MD5的移动终端多媒体资源验证方法,其特征为,包括以下几个步骤:
步骤A:对通过参数传入的资源文件的路径URL字符串进行判断,如果传入URL路径是资源文件则直接读取,如果是文件夹则通过循环读取文件夹下的资源文件;
步骤B:获得资源文件的文件流后,判断文件的字节大小是否超过N字节,如文件小于等于N字节,对于文件流不做处理,如文件大于N字节,则运用跳位截取方法对文件流进行截取,读取流前M个字节,其中M小于N/2,然后根据文件字节总长/2得到文件中间位,跳至中间,继续读取M个字节,再然后跳至文件字节总长-M位置,读取最后M个字节;
步骤C:利用MD5对读取的字节数组获取信息摘要,摘要公式为MessageDigest md=MessageDigest.getInstance("MD5"),md.update(读取的字节数组,0,读取的长度),byte[]bytes=md.digest(),md.reset(),如果小于N则读取的长度为文件总长度;
步骤D:对信息摘要字节数组,转化为十六进制拼接字符串。循环字节数组,读取bytes[i],使用‘与’运算与0xFF结合,然后转化为十六进制字符串,环此步骤来拼接完整整个字节数组转化后的字符串;
步骤E:通过上述步骤得到单个资源文件的信息摘要字符串,如果是文件夹则循环这几个步骤,将文件内所有资源文件的信息摘要转换为一个整体的字符串;
步骤F:将得到的资源文件信息摘要字符串,从本地数据库中获取当前服刑人员编号、监区、监狱等用户信息,对信息进行处理获取摘要,与资源文件信息摘要字符串拼接,再转化为字节数组,并再次进行MD5处理获取摘要,并对摘要进行十六进制字符转化,得到新的字符串;
步骤G:利用移动终端封装的Android***,使用so库文件获取单片机中的机器序列号,与信息摘要字符串拼接,并增加带有唯一性质的标识字符串,转化为字节数组,再次进行MD5处理,最终再次进行十六进制字符转化,得到最终的字符串;
步骤H:服刑人员在使用移动终端时,在资源市场中订阅需要的资源文件,通过OTG联网下载资源文件时,首先验证服刑人员身份:编号、监区、监狱、资费等个人信息,然后验证当前移动终端的状态:借阅、入库、离线归还、离线借阅、非法使用等,当服刑人员身份信息、移动终端状态合法时下载订阅的资源文件;
步骤I:下载完毕后对文件进行摘要处理,存储于移动终端本地;
步骤J:使用资源文件时再次进行摘要处理,并与下载时的摘要进行比对来判断文件是否被篡改,判断服刑人用户信息、移动终端是否合法,是否正常,是否与下载时信息一致,如出现偏差,返回非法信息、非法资源的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811042523.7A CN109218011B (zh) | 2018-09-07 | 2018-09-07 | 一种基于md5的移动终端多媒体资源验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811042523.7A CN109218011B (zh) | 2018-09-07 | 2018-09-07 | 一种基于md5的移动终端多媒体资源验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109218011A true CN109218011A (zh) | 2019-01-15 |
CN109218011B CN109218011B (zh) | 2021-05-04 |
Family
ID=64986590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811042523.7A Expired - Fee Related CN109218011B (zh) | 2018-09-07 | 2018-09-07 | 一种基于md5的移动终端多媒体资源验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109218011B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324317A (zh) * | 2020-02-18 | 2020-06-23 | 上海东普信息科技有限公司 | 本地打印面单方法、装置、设备及存储介质 |
CN113591100A (zh) * | 2021-06-19 | 2021-11-02 | 特瓦特能源科技有限公司 | 一种本地资源校验方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951397A (zh) * | 2010-09-08 | 2011-01-19 | 山东中磁远程视讯技术有限公司 | 特殊群体网上阅览方法 |
CN102946392A (zh) * | 2012-11-15 | 2013-02-27 | 亚信联创科技(中国)有限公司 | 一种url数据加密传输方法及*** |
CN105867934A (zh) * | 2016-04-13 | 2016-08-17 | 厦门雅迅网络股份有限公司 | 一种基于二分法和md5校验的文件远程升级方法 |
CN106650504A (zh) * | 2016-12-28 | 2017-05-10 | 中国科学院计算技术研究所 | 一种针对Web页面数据的摘要提取方法及检测方法 |
CN107171855A (zh) * | 2017-06-19 | 2017-09-15 | 淄博掌游网络科技有限公司 | 一种信息安全管控***及信息安全管控方法 |
-
2018
- 2018-09-07 CN CN201811042523.7A patent/CN109218011B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951397A (zh) * | 2010-09-08 | 2011-01-19 | 山东中磁远程视讯技术有限公司 | 特殊群体网上阅览方法 |
CN102946392A (zh) * | 2012-11-15 | 2013-02-27 | 亚信联创科技(中国)有限公司 | 一种url数据加密传输方法及*** |
CN105867934A (zh) * | 2016-04-13 | 2016-08-17 | 厦门雅迅网络股份有限公司 | 一种基于二分法和md5校验的文件远程升级方法 |
CN106650504A (zh) * | 2016-12-28 | 2017-05-10 | 中国科学院计算技术研究所 | 一种针对Web页面数据的摘要提取方法及检测方法 |
CN107171855A (zh) * | 2017-06-19 | 2017-09-15 | 淄博掌游网络科技有限公司 | 一种信息安全管控***及信息安全管控方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324317A (zh) * | 2020-02-18 | 2020-06-23 | 上海东普信息科技有限公司 | 本地打印面单方法、装置、设备及存储介质 |
CN111324317B (zh) * | 2020-02-18 | 2024-03-26 | 上海东普信息科技有限公司 | 本地打印面单方法、装置、设备及存储介质 |
CN113591100A (zh) * | 2021-06-19 | 2021-11-02 | 特瓦特能源科技有限公司 | 一种本地资源校验方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109218011B (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
He et al. | Characterizing code clones in the ethereum smart contract ecosystem | |
TWI820024B (zh) | 去信任確定性狀態機之電腦實施方法 | |
Jing et al. | A blockchain-based code copyright management system | |
US8074287B2 (en) | Renewable and individualizable elements of a protected environment | |
US20210037270A1 (en) | System and techniques for digital data lineage verification | |
US7930764B2 (en) | Certificate based digital rights management | |
Piao et al. | Server‐based code obfuscation scheme for APK tamper detection | |
CN109218011A (zh) | 一种基于md5的移动终端多媒体资源验证方法 | |
Petrov et al. | Using the universal two factor authentication method in web applications by software emulated device | |
CN111737304B (zh) | 一种区块链数据的处理方法、装置及设备 | |
Aliya et al. | Ensuring Information Security of Web Resources Based on Blockchain Technologies | |
CN109324997B (zh) | 一种基于区块链的数字权利保护方法及装置 | |
Barde | Blockchain-based cyber security | |
Gimenez-Aguilar et al. | Malicious uses of blockchains by malware: from the analysis to Smart-Zephyrus | |
Mueller | Machine Learning Security Principles: Keep data, networks, users, and applications safe from prying eyes | |
KR101265887B1 (ko) | 보호 컴퓨팅 환경을 제공하는 방법 및 장치 내에 보호 환경을 설정하는 방법 | |
CN2927185Y (zh) | 一种数据安全传输设备 | |
Nurgaliyev et al. | Analysis of reverse engineering | |
US11727108B2 (en) | Systems and methods for providing secure passwords | |
Kausar et al. | An effective technique for detection and prevention of SQLIA by utilizing CHECKSUM based string matching | |
TWI844486B (zh) | 去信任確定性狀態機之電腦實施方法、系統、以及非暫時性電腦可讀存儲介質 | |
CN110709871B (zh) | 可参数化的智能合约 | |
TWI713892B (zh) | 基於區塊鏈技術的文章發佈方法與系統 | |
Lee et al. | Application Integrity Assurance System: Using Blockchain for Securing Application Package Integrity | |
Marcelli et al. | Machine Learning and other Computational-Intelligence Techniques for Security Applications. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210504 |