android 中MD5加密
来源:互联网 发布:网络教育报考公务员 编辑:程序博客网 时间:2024/06/14 10:43
项目中总是有一些安全问题的隐患,
首先我们的接口设计是,需要参数加密生成一个签名传上去。
具体化就是把每个参数的参数名进行排序,同时拼成字符串。把字符串进行MD5加密传给服务器,服务器在做一次自己的签名效验看看是否一致,一致接受不一致不接受保证用户通过我们的app进行访问数据。避免了其他的前端攻击我们的服务器。
通过MessgeDigest拿到MD5的信息摘要,用MD5把传进来的字符串进行转化,转化成数组。遍历数组根据16进制的1进行与运算拿到String字符串
主要代码
/** * 对密码进行加密和验证的类 */public class Md5Encryption { /** * @param str * @return * @Date: 2013-9-6 * @Author: lulei * @Description: 32位小写MD5 */ public static String parseStrToMd5L32(String str) throws NoSuchAlgorithmException { String reStr = null; MessageDigest md5 = MessageDigest.getInstance("MD5"); byte[] bytes = md5.digest(str.getBytes()); StringBuffer stringBuffer = new StringBuffer(); for (byte b : bytes){ int bt = b&0xff; if (bt < 16){ stringBuffer.append(0); } stringBuffer.append(Integer.toHexString(bt)); } reStr = stringBuffer.toString(); return reStr; } /** * @param str * @return * @Date: 2013-9-6 * @Author: lulei * @Description: 32位大写MD5 */ public static String parseStrToMd5U32(String str) throws NoSuchAlgorithmException { String reStr = parseStrToMd5L32(str); if (reStr != null){ reStr = reStr.toUpperCase(); } return reStr; } /** * @param str * @return * @Date: 2013-9-6 * @Author: lulei * @Description: 16位小写MD5 */ public static String parseStrToMd5U16(String str) throws NoSuchAlgorithmException { String reStr = parseStrToMd5L32(str); if (reStr != null){ reStr = reStr.toUpperCase().substring(8, 24); } return reStr; } /** * @param str * @return * @Date: 2013-9-6 * @Author: lulei * @Description: 16位大写MD5 */ public static String parseStrToMd5L16(String str) throws NoSuchAlgorithmException { String reStr = parseStrToMd5L32(str); if (reStr != null){ reStr = reStr.substring(8, 24); } return reStr; }}
阅读全文
1 0
- android 中MD5加密
- Android中MD5加密加盐
- android 中 的md5加密信息内容
- Android中应用md5加密技术
- Android中MD5加密操作代码
- android中MD5加密工具类
- Android 加密之MD5加密
- Android 数据加密 MD5加密
- Android中的MD5加密
- android md5加密
- Android中的MD5加密
- Android MD5加密
- Android中的MD5加密
- [Android]MD5加密字符串
- Android中的MD5加密
- Android MD5加密
- Android(Java):md5加密
- android 字符串MD5加密
- ADO.NET Entity Framework Extensions 简单应用
- linux date
- 找出除一个数只出现一次外其他数都出现两次的数Single Number II
- 自定义键盘
- importError: no module named _winreg
- android 中MD5加密
- ConcurrentModificationException 异常的解决方法
- Warning:org.bouncycastle.jce.provider.X509LDAPCertStoreSpi: can't find referenced class javax
- 奇妙的数学 · 完全平方数~总结
- 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序
- USB驱动程序(三)——鼠标驱动程序(中断传输)
- string.split(separator,limit) 字符串转成数组
- Activity具体是怎么创建的?又是怎么显示出来的?
- 优秀博客的整理