【发布时间】:2014-06-26 16:28:20
【问题描述】:
我正在使用 OAuth 2 登录我的 Android 应用程序。用户名和密码不存储在设备上。但是,我在源代码本身的类常量中包含了三个字符串参数。
public class Constants{
public static String redirectUri = "http://someurl/users/me";
public static String clientId = "my-android-app";
public static String clientSecret = "asdfasf";
}
我在登录期间使用 Constants.clientId 访问这些参数。我的问题是我存储数据的方式是否安全?我是否必须加密这 3 个数据。我无法将这些数据存储在共享首选项或数据库中,因为在根设备中可以查看这些数据。
【问题讨论】:
-
代码硬编码怎么样??
-
我不太确定,但我正在做的是在 java 中硬编码字符串。
-
这是我认为最好的方式,否则按照您所说的使用某种算法进行编码
-
我唯一担心的是android apk文件是zip文件,可以打开查看内容。所有的 java 类都被转换,但可以逆向工程。
-
你可以使用一些算法来阻止重新设计,我很确定