Android学习笔记----Java字符串MD5加密

代码如下:

 1 /**
 2      * MD5单向加密,32位,用于加密密码,因为明文密码在信道中传输不安全,明文保存在本地也不安全
 3      *
 4      * @param str
 5      * @return
 6      */
 7     public static String md5(String str) {
 8         MessageDigest md5 = null;
 9         try {
10             md5 = MessageDigest.getInstance("MD5");
11         } catch (Exception e) {
12             e.printStackTrace();
13             return "";
14         }
15
16         char[] charArray = str.toCharArray();
17         byte[] byteArray = new byte[charArray.length];
18
19         for (int i = 0; i < charArray.length; i++) {
20             byteArray[i] = (byte) charArray[i];
21         }
22         byte[] md5Bytes = md5.digest(byteArray);
23
24         StringBuffer hexValue = new StringBuffer();
25         for (int i = 0; i < md5Bytes.length; i++) {
26             int val = ((int) md5Bytes[i]) & 0xff;
27             if (val < 16) {
28                 hexValue.append("0");
29             }
30             hexValue.append(Integer.toHexString(val));
31         }
32         return hexValue.toString();
33     }
时间: 2024-10-27 06:06:12

Android学习笔记----Java字符串MD5加密的相关文章

.Net学习笔记----2015-06-30(MD5加密)

class Program { static void Main(string[] args) { //MD5加密是不可逆的 string s = GetMD5("123"); Console.WriteLine(s); Console.ReadKey(); } public static string GetMD5(string str) { //创建MD5对象 MD5 md5 = MD5.Create(); //开始加密 //需要将字符串转换成字节数组 byte[] buffer

Android学习笔记----Java中的字符串比较

用习惯了C#.C++,在做字符串比较时想当然地使用如下语句: 1 string str1 = "abcd", str2 = "abcd"; 2 if(str1==str2) 3 { 4 return true; 5 } 6 else 7 { 8 return false; 9 } 殊不知在Java中,两个String类型的变量,尽管字符相同,使用”==“进行比较,也会返回false. Java中进行字符串比较需采用String类型的equals方法: 1 Strin

java字符串MD5加密后再转16进制

话不多说上码 public static byte[] digest(String signStr) { MessageDigest md5Instance = null; try { md5Instance = MessageDigest.getInstance("MD5"); md5Instance.update(signStr.getBytes("utf-8")); } catch (NoSuchAlgorithmException e) { e.printS

学习笔记——Java字符串操作常用方法

1.创建字符串 最常用的是使用String类的构造方法:String s=new String("abcd"); 也可采用J2SE5.0添加的StringBuilder类的字符串构造器:StringBuilder builder=new StringBuilder(“abcd”); 输出时用toString转换即可. 2.基本操作:length().indexOf().lastindexOf().charAt().substring(int begin,int end).去首尾空格tr

六、Android学习笔记_JNI_c调用java代码

1.编写native方法(java2c)和非native方法(c2java): package com.example.provider; public class CallbackJava { // C调用java空方法 public void helloFromJava() { System.out.println("hello from java"); } // C调用java中的带两个int参数的方法 public int Add(int x, int y) { int res

Android学习笔记_JNI_c调用java代码

1.编写native方法(java2c)和非native方法(c2java): package com.example.provider; public class CallbackJava { // C调用java空方法 public void helloFromJava() { System.out.println("hello from java"); } // C调用java中的带两个int参数的方法 public int Add(int x, int y) { int res

Java学习笔记_18_字符串、包装类、原始数据类剪得转换

18. 字符串.包装类.原始数据类剪得转换: 各个转换如下: 1>String 转换成Integer: Integer integer = new Integer("string");或 Integer Integer = Integer.valueOf(String): 注:String必须是数字字符串,如:"1232". 2>Integer 转换成String: String str = Integer.toString(); 3>Intege

android环境下两种md5加密方式

在平时开发过程中,MD5加密是一个比较常用的算法,最常见的使用场景就是在帐号注册时,用户输入的密码经md5加密后,传输至服务器保存起来.虽然md5加密经常用,但是md5的加密原理我还真说不上来,对md5的认知目前仅仅停留在会使用的水平,想搞清楚还是要花点时间的,这是md5加密算法的相关介绍.本文主要介绍android平台下两种md5加密方式,分别为基于java语言的md5加密及ndk环境下基于c语言的md5加密. 下面代码为基于java语言的md5加密: public String getMD5

Android学习笔记二

17. 在ContentProvider中定义的getType()方法是定义URI的内容类型. 18. SQLiteDatabase类中的insert/delete/update/query方法其实也挺好用的,我在EquipmentProvider类中做了实现 19. Android专门有个单元测试项目(Android Test Project),在这个项目中,可以新建一个继承AndroidTestCase类的具体测试类来单元测试某个功能.我新建了一个AndroidTestProject项目,在