网上我看到的都是SharedPreferences
但是它会将密码以明文的形式存在xml当中,这样不大好额,感觉
用个加密之后再存
MD5貌似不行
用啥算法呢?
各位出点意见吧
谢谢
补充:又看到有人把字符串生成流文件,放着,看来这也是一种方法,简单忽悠下
SharedPreferences 的存储功能确实是能够记住用户名和密码 保存在自己定义的xml中
打开xml的时候 也能够看都对应健值对形式的数据
我想这是你在编程的时候的可见性
现在我也没看到谁在用的时候能够把这个用系统的加密方法加密后保存
而且如果你的application在完成打包后 安装到手机中 那个xml至少你是不可能看到的 对吧?
如果自己认为显性的数据不好 可以在类中自己写一个加密的规则完成后保存
对于SharedPreferences保存密码的功能我就知道这些了 如果你找到好的办法告诉我一声
我看网友做登录记录密码的都用SharedPreferences
不过SharedPreferences都是存储参数性的基本数据类型信息
你还是改用别的吧 SQLite应该也可以的吧。
我也没则了。
做好例子望发个帖子分享啊 一定要啊。
现在做android开发的人 很少 而且对应高手级别的 一般不出现的
“长城”还禁止访问谷歌的官方网站 学起来难啊
LZ为什么说MD5不行啊··加密后保存到SharedPreferences 中应该可以啊
··我之前用过·之前在网上找了个MD5算法 android版的
[code="java"]
/*
* MD5加密
*/
private String getMD5Str(String str) {
MessageDigest messageDigest = null;
try {
messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(str.getBytes("UTF-8"));
} catch (NoSuchAlgorithmException e) {
System.out.println("NoSuchAlgorithmException caught!");
System.exit(-1);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
byte[] byteArray = messageDigest.digest();
StringBuffer md5StrBuff = new StringBuffer();
for (int i = 0; i < byteArray.length; i++) {
if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)
md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));
else
md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
}
//16位加密,从第9位到25位
return md5StrBuff.substring(8, 24).toString().toUpperCase();
}
[/code]
8) 哦我明白你的意思··其实这样的话··自己可以按照自己的约定 写一个加密的算法··
这样就可逆了· 回填表单就没问题了
你这需求 服务器端保存的密码··是加密保存到数据库的么?
其实可以把密码已MD5信息回填表单 没什么关系··因为密码在表单中的显示是“黑点”或者“黑星”之类的···
其实可以这样:
用户第一次登陆如果点了记住密码那么把用户名不加密 密码MD5加密 保存到
SharedPreferences
下次再登陆时···与服务器登陆验证时··用户名 密码匹配···这样做的前提是 服务器端保存的密码 也是MD5加密的··呵呵
:oops: 但是也不能各干各的啊··总有沟通啊 呵呵·