`
leozam
  • 浏览: 29387 次
社区版块
存档分类
最新评论

记一次MD5加解密过程

 
阅读更多
时间:2017年2月

起因:公司安排将一个手机客户端APP(IOS)的功能搬到手机HTML(JAVA实现)上,需要搬的功能包括“用户登录”

经过:用户注册时会将密码进行MD5加密以后保存到数据库,但是手机HTML上可以登录,客户端APP却报密码错误。于是,进行如下排查:
1.tomcat编码是否设置错误:查编码为UTF-8,问题未解决
2.JDK版本不一样导致MessageDigest类运算出来的结果不一样:更改JDK版本,问题未解决
3.尝试使用jsonp跨域调用手机客户端用到的登录接口:问题未解决
4.重新部署项目,重启系统等等:问题继续

结果:询问APP开发人员,得知APP在客户端已经先进行过一次MD5加密...遂网上查找java版的md5加密代码,呃...(IOS用的是CommonCrypto/CommonDigest.h这个头文件)

心得:不懂就问,多沟通,多交流,多思考,方向不要错
分享到:
评论

相关推荐

    MD5加密.zip

    3. **MD5解密**:虽然MD5是一种单向哈希函数,不能直接解密,但项目可能实现了验证功能,通过再次哈希用户输入的明文,对比两次哈希值是否一致。 4. **错误处理**:处理可能发生的加密或验证错误。 5. **界面交互**...

    MD5算法C语言实现

    - `count[2]`:记录输入数据的比特数,用于确定何时完成一次512比特块的处理。 - `buffer[64]`:大小为64字节的缓冲区,用于暂存输入数据。 - **函数声明**:提供了初始化、更新和完成MD5计算的三个核心函数: -...

    MD5批量查询工具

    该工具支持一次性处理大量MD5值,极大地提高了工作效率。点击“crack”按钮后,程序将开始比对数据库中的记录,尝试找出与输入MD5值相匹配的原始明文信息。 返回的结果分为两类:“success”代表成功解密,意味着...

    md5加密算法(vc编译通过)

    `.plg`是项目日志文件,记录了上一次编译的结果和信息。 在实际应用中,MD5常常用于文件校验,确保文件在传输或存储过程中没有被篡改。不过,由于MD5的安全性问题,即存在碰撞攻击的可能性(不同的输入可以生成相同...

    asp批量加密解密转编码

    确保正确存储和管理密钥是解密过程中的关键环节,因为丢失密钥可能导致数据无法恢复。 **三、转编码** 转编码主要用于处理字符集间的转换,确保数据在不同环境或系统间能够正确显示。在ASP中,网页编码通常涉及HTML...

    DCPcrypt delphi 加密解密

    开发者可以通过这个库实现数据的加解密,确保在传输或存储时的安全性。对称加密算法用于快速加密大量数据,而哈希函数则常用于验证数据完整性。 使用DCPcrypt时,开发者首先需要选择合适的加密算法,然后创建一个...

    c# 加密和解密相关代码

    而解密过程也很简单,只是将加密 结果24与加密数字15 进行“异或”运算,将24 转换为二进制值11000,将15 转换为二进制值1111,进行“异 或”运算后,得到结果为23,这样又还原了加密的数据。 说明:本实例只是...

    JavaScript的hash和加密模块crypto-js的所有版本,从2.5到3.1

    它支持AES(高级加密标准)、DES(数据加密标准)、MD5(消息摘要算法5)、SHA-1、SHA-256等算法,可以用于数据的安全传输、存储以及验证数据完整性。 二、主要功能 1. **加密算法**: - AES:一种对称加密算法,...

    基于3DES的文件加密

    口令的处理可能包括散列函数(如MD5或SHA-1)和加盐(salt)技术,以增强安全性,防止字典攻击。 **日志文件生成** 生成日志文件是系统的一个重要特性,它可以记录加密和解密操作的详细信息,包括时间戳、操作类型...

    java 3des加密 和字符串转换

    解密过程与加密类似,但使用了解密模式(Cipher.DECRYPT_MODE)。 字符串与字节数组之间的转换是必要的,因为加密通常处理字节数组而不是字符串。在Java中,我们可以使用`getBytes()`方法将字符串转换为字节数组,...

    JAVA-API.rar_3des_java 3des

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可以将任意长度的信息映射为固定长度的输出。在Java中,`java.security.MessageDigest`类用于实现包括MD5在内的各种哈希算法。通过`getInstance("MD5...

    SSL协议详解

    - **算法**:加密和解密过程中的规则或步骤。 - **密钥(key)**:用于加密和解密的特殊参数。 #### 加密算法 加密算法是密码学的核心组成部分,用于保护数据的安全性。常见的加密技术分为两大类: - **对称密钥...

    密码学实验报告

    2. **3DES(Triple DES)**:为了增强DES的安全性,3DES将DES加密过程执行三次,使用三个不同的密钥,提供更强的加密强度。在3DES实验中,学生会学习如何通过三次应用DES算法来提高加密的复杂度。 3. **AES...

    数据加密技术在医院信息化系统中的应用.docx

    MD5加密技术是一种单向散列函数,它具有固定长度的输出,对于任意长度的输入都能产生唯一的512位哈希值,这使得密码在存储时无法被轻易破解。例如,用户的登录密码会被转化为MD5哈希值存储,每次登录时,系统都会将...

    icePubDLL揭秘20111023

    - **示例**: 文档详细记录了IcePubDLL自2009年创建以来的每一次重大更新及其变更描述。 - **作用**: 版本迭代不仅有助于开发者了解软件的成长过程,也为后续版本的开发提供了参考依据。 ### 结论 综上所述,...

    第3章电子商务系统的安全措施.pptx

    PGP不仅支持文件加密、密钥生成和管理,还支持数字签名和邮件加密,其核心组件包括IDEA私钥加密算法、RSA公钥加密算法、MD5单向散列算法和随机数生成器。 总的来说,电子商务系统的安全措施涵盖了数据加密、网络...

    基于数据库加密的网页防篡改系统设计与实现,信息安全综合实验.zip

    在数据库层面,我们可以设置权限控制和审计日志,限制对敏感数据的访问,并记录每一次查询和修改操作。同时,通过数据库事务来保证数据的一致性,防止半途被篡改。此外,可以采用双因素认证或者多因素认证增强登录...

    Python解压缩zip文件原理与实践笔记.md

    无论是一次性解压整个 ZIP 文件还是逐个文件解压,都能够根据实际需求灵活选择合适的解压方式。这对于处理各种文件和数据都是一项非常重要的基础技能。在日常工作中,熟悉这些操作可以帮助您更加高效地管理和处理...

    QQ通信协议介绍

    密码密钥是用户口令经过两次MD5加密得到的,然后使用这个密钥加密一个空字符串,采用的是反馈TEA算法。服务器接收到登录包后,会用保存的密码信息尝试解密密码密钥加密的空字符串,只有密码正确时,解密才会成功,...

Global site tag (gtag.js) - Google Analytics