资讯专栏INFORMATION COLUMN

android开发MD5加密工具类

happyhuangjinjin / 1423人阅读

摘要:本文分享开发加密工具类主要代码,供技术员参考学习。加密需要加密的内容加密密码获得摘要算法的对象使用指定的字节更新摘要获得密文原文详情地址商城详情地址官网地址

wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享android开发MD5加密工具类主要代码,供技术员参考学习。

package com.gzcivil.utils;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Tool {

    public static String md5(String string) {
        byte[] hash;
        try {
            hash = MessageDigest.getInstance("MD5").digest(string.getBytes("UTF-8"));
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException("Huh, MD5 should be supported?", e);
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException("Huh, UTF-8 should be supported?", e);
        }

        StringBuilder hex = new StringBuilder(hash.length * 2);
        for (byte b : hash) {
            if ((b & 0xFF) < 0x10)
                hex.append("0");
            hex.append(Integer.toHexString(b & 0xFF));
        }
        return hex.toString();
    }

    public static String encrypt(String data) {
        if (data == null)
            data = "";
        byte[] btRet = null;
        try {
            btRet = _encrypt(data.getBytes("utf-8"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        if (btRet == null)
            return null;
        return BinStr.byte2str(btRet).toLowerCase();
    }

    /**
     * 加密MD5
     * 
     * @param content
     *            需要加密的内容
     * @param password
     *            加密密码
     * @return
     */
    private static byte[] _encrypt(byte[] btData) {
        try {
            // 获得MD5摘要算法的 MessageDigest 对象
            MessageDigest mdInst = MessageDigest.getInstance("MD5");
            // 使用指定的字节更新摘要
            mdInst.update(btData);
            // 获得密文
            return mdInst.digest();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    
     
}

原文详情地址:http://git.oschina.net/einsqi...
wemall-mobile商城详情地址:http://www.koahub.com/home/pr...
wemall官网地址:http://www.wemallshop.com

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69838.html

相关文章

  • Android项目实战-博学谷》登录&注册

    摘要:标题栏思路由于项目中大部分界面都有一个后退键和一个标题栏,为避免代码冗杂以及便于利用,我们可以将后推荐和标题栏单独抽取出来定义一个标题栏布局,在目录下新建一个,选用具体代码如下注册界面思路将图片导入目录下,在包下创建,修改为布局具体代码如 标题栏 思路 由于项目中大部分界面都有一个后退键和一个标题栏,为避免代码冗杂以及便于利用,我们可以将后推荐和标题栏单独抽取出来定义一个标题栏布局,在...

    Donald 评论0 收藏0
  • Android 应用防止被二次打包指南

    摘要:接下来,我就来详解一下如何防止被二次打包。开发阶段移动应用开发时接入安全组件,保护数据安全。 前言 Android APP二次打包则是盗版正规Android APP,破解后植入恶意代码重新打包。不管从性能、用户体验、外观它都跟正规APP一模一样但是背后它确悄悄运行着可怕的程序,它会在不知不觉中浪费手机电量、流量,恶意扣费、偷窥隐私等等行为。 二次打包问题只是Android应用安全风险中...

    PAMPANG 评论0 收藏0
  • Android 应用安全开发之浅谈加密算法的坑

    摘要:还有很多开发者没有意识到的加密算法的问题。不要使用哈希函数做为对称加密算法的签名。开发者建议使用基于口令的加密算法时,生成密钥时要加盐,盐的取值最好来自,并指定迭代次数。不要使用没有消息认证的加密算法加密消息,无法防重放。 本文作者:阿里移动安全@伊樵,@舟海 Android开发中,难免会遇到需要加解密一些数据内容存到本地文件、或者通过网络传输到其他服务器和设备的问题,但并不是使用了加...

    不知名网友 评论0 收藏0

发表评论

0条评论

happyhuangjinjin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<