关于md5加密介绍
来源:互联网 发布:手机淘宝 怎么买运费险 编辑:程序博客网 时间:2024/05/21 11:14
MD5加密具体操作流程:
下载地址的文档,有需要的可以参考一下:http://download.csdn.net/detail/u014608640/7189451
使用方法:
1.把工程中的MyMD5.h和MyMD5.m文件加入你的工程中
2.在你的类中导入 #import “MyMD5.h”
3.调用MyMD5的类方法 [MyMD5 md5:@“testText”];
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;
}
}
- 关于md5加密介绍
- MD5 加密介绍
- MD5加密介绍
- 关于MD5加密技术
- 关于MD5加密
- 关于MD5加密
- 关于MD5加密
- java 关于MD5加密
- 关于MD5加密
- 关于MD5加密
- 关于md5加密
- 关于MD5加密的问题
- 关于MD5加密与解密
- 关于MD5加密与解密
- 关于注册密码md5加密
- 关于md5加密的认识
- 关于使用MD5加密方法
- 使用MD5加密数据库中的用户密码介绍
- 一天中时针,分针,秒针三者重合谜题C++程序验证
- 实时开发框架Meteor API解读系列<六> DDP
- php开发注意事项(二)
- 关于内部类的一些实验,包括利用反射避开编译器的检查
- MFC静态文本控件如何设置字体--大小和颜色及背景色
- 关于md5加密介绍
- Ubuntu 安装 python 第三方拓展库
- 12个有趣的C语言问答
- 成为更优秀的开发人员:知道自己在开发什么
- 好用的库函数
- 用sosi.txt看统计信息
- 又到了新的一周
- Android基站定位
- 重新回来博客