`

android MD5加密(二)

 
阅读更多
login.java




java代码:
package eoe.md5demo;
import android.app.Activity;
import android.os.Bundle;
public class Login extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
}
}


MD5Demo.java
java代码:
package eoe.md5demo;
import java.security.MessageDigest;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MD5Demo extends Activity {
private EditText username,password;
private Button savebtn,loginbtn;
String user,pass;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
username = (EditText)findViewById(R.id.username);
password = (EditText)findViewById(R.id.password);
savebtn = (Button)findViewById(R.id.save);
loginbtn = (Button)findViewById(R.id.login);
savebtn.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
SharedPreferences pre = getSharedPreferences("loginvalue",MODE_WORLD_WRITEABLE);
pass = MD5(password.getText().toString());
user = username.getText().toString();
if(!pass.equals("")&&!user.equals("")){
pre.edit().putString("username", username.getText().toString()).
putString("password",encryptmd5(pass)).commit();
Toast.makeText(getApplicationContext(), "保存成功!", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(), "密码不能为空!", Toast.LENGTH_LONG).show();
}
}
});
loginbtn.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
SharedPreferences sp = getSharedPreferences("loginvalue", MODE_WORLD_READABLE);
String loginuser = sp.getString("username", null);
String loginpass = sp.getString("password", null);
user = username.getText().toString();
pass = password.getText().toString();
String passmd5 = MD5(pass);
String encryptmd5 = encryptmd5(passmd5);
System.out.println("username="+loginuser+"-------------password="+loginpass);
System.out.println("user=="+user+"-------------encryptmd5=="+encryptmd5);
if(!user.equals("")&&!pass.equals(""))
{
if( user.equals(loginuser)&& encryptmd5.equals(loginpass))
{
Intent intent = new Intent();
intent.setClass(MD5Demo.this, Login.class);
MD5Demo.this.startActivity(intent);
finish();
}else{
Toast.makeText(getApplicationContext(), "密码是错误的!", Toast.LENGTH_LONG).show();
}
}else{
Toast.makeText(getApplicationContext(), "密码不能为空!", Toast.LENGTH_LONG).show();
}
}
});
}
//MD5加密,32位
public static String MD5(String str){
MessageDigest md5 = null;
try{
md5 = MessageDigest.getInstance("MD5");
}catch(Exception e){
e.printStackTrace();
return "";
}
char[] charArray = str.toCharArray();
byte[] byteArray = new byte[charArray.length];
for(int i = 0; i < charArray.length; i++){
byteArray[i] = (byte)charArray[i];
}
byte[] md5Bytes = md5.digest(byteArray);
StringBuffer hexValue = new StringBuffer();
for( int i = 0; i < md5Bytes.length; i++)
{
int val = ((int)md5Bytes[i])&0xff;
if(val < 16)
{
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
// 可逆的加密算法
public static String encryptmd5(String str) {
char[] a = str.toCharArray();
for (int i = 0; i < a.length; i++)
{
a[i] = (char) (a[i] ^ 'l');
}
String s = new String(a);
return s;
}
}













分享到:
评论

相关推荐

    android MD5加密

    #### 二、Android平台上的MD5实现 在Android开发中,实现MD5加密主要依赖于Java标准库中的`java.security.MessageDigest`类。下面详细介绍如何在Android应用中使用MD5算法进行数据加密。 #### 三、实现步骤 1. **...

    android用MD5加密解密demo

    本Demo主要展示了如何在Android平台上进行MD5加密和解密操作。 MD5并不是一种加密算法,而是一种散列函数,它将任意长度的数据转化为固定长度的输出。由于MD5的特性,相同的输入会产生相同的输出,因此常用于密码...

    Android-NDK-MD5-安卓jni 进行md5加密

    在Android开发中,有时我们需要对数据进行加密处理以保护信息安全,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,常用于文件校验和数据加密。本主题聚焦于如何在Android环境中,利用JNI(Java ...

    android小程序之MD5加密(源码)

    二、MD5在Android中的应用 1. **密码存储**:MD5可以将用户的明文密码转化为不可逆的散列值,存储在数据库中,这样即使数据库被泄露,攻击者也无法直接获取原始密码。 2. **数据校验**:在下载或传输文件时,可以...

    android Md5加密

    在Android开发中,数据安全是至关重要的一个环节,而MD5(Message-Digest Algorithm 5)是一种常用的哈希函数,广泛用于加密和数据校验。本文将深入探讨如何在Android中实现MD5加密,以及其在单字符串和多字符串场景...

    个人练习android md5加密和aidl通信demo

    在Android开发中,MD5加密和AIDL(Android Interface Definition Language)通信是两个重要的技术概念。MD5是一种广泛使用的加密散列函数,而AIDL则是Android系统中用于进程间通信(IPC)的一种机制。 首先,让我们...

    md5加密实现代码.zip

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意...虽然在Java和Android中实现MD5加密相对简单,但由于其安全性的局限,应当避免在新系统中使用MD5进行密码加密,而是选择更安全的哈希算法。

    Android之MD5加密

    总的来说,MD5在Android开发中的应用主要体现在数据加密和完整性验证上,通过上述步骤可以轻松实现MD5加密。在提供的压缩包文件"MD5Test"中,可能包含了一些示例代码或者测试用例,帮助开发者更好地理解和实践...

    MD5加密java和android通用

    在Java和Android开发中,MD5常用于密码加密、数据校验等场景,因为其计算结果具有不可逆性,即不能通过MD5值还原原始数据,增加了数据的安全性。 在Java中,MD5加密通常通过`java.security.MessageDigest`类实现。...

    Android md5加密与php md5加密一致详解

    在Android开发过程中加密密码常常采用md5加密方式,然而如果服务器端采用PHP开发(php采用md5加密很简单,直接md5($str)),很可能与Java的md5加密不一致。以下方法是md5加密与php一致的源码: import java.math....

    android平台基于ndk c语言和java语言的md5加密

    在Android平台上进行应用程序开发时,有时需要处理数据的安全性,比如使用MD5(Message-Digest Algorithm 5)加密算法来确保信息的完整性。本主题主要探讨如何在Android中结合Java和NDK(Native Development Kit)...

    Android 采用MD5注册登录,加密解密

    文件名"MD5Demo"可能包含了一个简单的Android应用示例,演示了如何使用MD5进行用户注册和登录的加密解密操作。这个示例可能涵盖了从获取用户输入、调用MD5加密函数,到比对加密后的密码等步骤。 总的来说,虽然MD5...

    delphi xe 使用的md5 加密

    在提供的文件列表中,`MD5.deployproj`和`MD5.dpr`是项目的部署和主工程文件,`Unit4.fmx`可能是包含MD5功能的具体组件或界面代码,而`AndroidManifest.template.xml`则与Android应用的配置有关。`Unit4.pas`可能是...

    android AES DES MD5加密

    AES(Advanced Encryption Standard)、DES(Data Encryption Standard)和MD5(Message-Digest Algorithm 5)都是常见的加密算法,它们各有特点,适用于不同的安全需求。 AES(高级加密标准)是目前广泛使用的对称...

    Android MD5/AES/HMAC 加密

    MD5、AES和HMAC是三种常用的加密算法,它们各有特点,用于不同场景。让我们深入了解一下这些加密技术及其在Android中的实现。 首先,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它将任意长度的...

    Android编程之MD5加密算法实例分析

    在Android编程中,MD5加密算法的使用与Java标准版(J2SE)平台基本一致,因为Android环境同样支持`java.security.MessageDigest`包,该包提供了对多种哈希算法的支持,包括MD5。 MD5算法的典型特征是它将任意长度的...

    MD5加密算法 Java实现 android

    MD5加密算法 Java实现 android

    jni进行Md5加密

    MD5(Message-Digest Algorithm 5)加密过程主要分为四个步骤:初始化、数据处理、结果变换和十六进制表示。在Java中,可以使用`java.security.MessageDigest`类来便捷地完成MD5加密。但在某些情况下,例如追求更高...

Global site tag (gtag.js) - Google Analytics