2015年3月18日 星期三

Android password SHA1 密碼 編碼

登入密碼使用SHA1編碼
1.MainActivity.java

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

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity{
 
 private String password="123456";
 
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  Log.i("Original:::",password+"");
  try {
   Log.i("SHA1:::::::",SHA1(password)+"");
  } catch (NoSuchAlgorithmException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (UnsupportedEncodingException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 
 /* SHA1 */
 public String SHA1(String text) throws NoSuchAlgorithmException, UnsupportedEncodingException {
  MessageDigest md = MessageDigest.getInstance("SHA-1");
  md.update(text.getBytes("iso-8859-1"), 0, text.length());
  byte[] sha1hash = md.digest();
  return convertToHex(sha1hash);
 }
 
 private String convertToHex(byte[] data) {
  StringBuilder buf = new StringBuilder();
  for (byte b : data) {
   int halfbyte = (b >>> 4) & 0x0F;
   int two_halfs = 0;
   do {
    buf.append((0 <= halfbyte) && (halfbyte <= 9) ? (char) ('0' + halfbyte) : (char) ('a' + (halfbyte - 10)));
    halfbyte = b & 0x0F;
   } while (two_halfs++ < 1);
  }
  return buf.toString();
 }
}
Log訊息:

參考來源:http://stackoverflow.com/questions/5980658/how-to-sha1-hash-a-string-in-android

沒有留言 :

張貼留言