我正在创建一个使用用户名/密码连接到服务器的应用程序,我想启用"保存密码"选项,这样用户每次启动应用程序时都不必输入密码.
我试图使用共享偏好设置,但不确定这是否是最佳解决方案.
我将不胜感激任何有关如何在Android应用程序中存储用户值/设置的建议.
我想存储用于签署我在安全的地方开发的财务应用程序的密码.在做了一些网上冲浪后,我发现了以下选项,但每个选项都有一定的缺点.
1)KeyChain.
仅适用于OS版本4.
2)共享偏好.
它以纯文本形式存储数据,即使我加密数据,也可以通过反编译应用程序代码来破坏加密密钥.
3)访问密钥库守护程序并在其中存储凭据.
(http://nelenkov.blogspot.com/2012/05/storing-application-secrets-in-androids.html)需要记住另一个密码.
请建议我更好的方法来保护Android应用程序中的凭证信息,如IPhone KeyChain.
我正在创建一个用于存储加密数据的应用程序.
在这个问题中,OP si建议明确存储用户的凭证.
但是,如果我想存储使用SecretKeySpec(用于加密数据的密码)创建的加密密码,该怎么办?根据我的理解,密钥本身是加密的.
所以我可以存储和检索它.
注意:我不是在询问如何存储首选项,只要我了解SecretKeySpec如何工作以及如何排序,序列化和检索加密密码.
编辑:对不起,我忘了指定它需要与API级别4兼容.
我在 Flutter 中使用 Dart 邮件程序,有一条评论说:
您如何使用和存储密码取决于您。当心以普通方式存储密码。
有什么办法可以散列密码吗?如何避免以纯文本形式存储它?
我正在制作一个Android应用程序,目前,我的服务器用户名和密码在我的代码中写为常量(这不是很安全).我已经在网上进行了研究,但我找不到能够完全保护用户密码的东西,或者至少可以防止黑客入侵.任何人都可以帮我解决如何在Android上安全地存储密码?谢谢!
我在我的程序(用Java编写)中有一个变量:
String myPassword
Run Code Online (Sandbox Code Playgroud)
在使用Android Studio编译代码后,我得到了一个Android应用程序,我想让其他人使用它.
但我很害怕:用户是否有可能从应用程序中获取变量值(密码)?
假设密码值为"myPass".它的二进制是:
01101101 01111001 01010000 01100001 01110011 01110011
应用程序二进制文件中是否包含此序列?
我创建了一个登录页面,用户只需输入他们的用户名(不需要密码或身份验证),它将显示在下一个活动中。但是每次打开应用程序时,您都必须输入用户名。我如何让它记住用户名。(语言-Java)
谢谢!
(我是初学者)
package com.example.app;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
Button btn;
EditText et;
String st;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn= findViewById(R.id.button);
et=findViewById(R.id.edittext);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i=new Intent(MainActivity.this, Welcome.class);
st=et.getText().toString();
i.putExtra("Value",st);
startActivity(i);
finish();
Run Code Online (Sandbox Code Playgroud)
(这是用户输入用户名的活动)
package com.example.app;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class Welcome extends AppCompatActivity {
TextView tv;
String st;
@Override
protected void …Run Code Online (Sandbox Code Playgroud) android ×5
java ×4
encryption ×2
security ×2
compilation ×1
credentials ×1
dart ×1
flutter ×1
keystore ×1
preferences ×1