在移动应用程序中安全地硬编码密码

2023-12-27

我有一个网络服务器,它创建一个二维码,该二维码是[用户名]+[用户名][密码]的md5哈希值。 其中 [用户名] 是当时登录的用户。 其中 [password] 是我设置的系统密码,对于网络服务器和应用程序来说是通用的。

我的 Android/iPhone/BlackBerry/Windows 应用程序将扫描此 QR 码,并使用 QR 码中提供的 [用户名] 与 [密码] 进行哈希运算,这将告诉我该 QR 码来自我的服务器。

显然,如果有人掌握了[密码],那么他们就可以创建不是来自我的网络服务器的二维码。那么有没有办法在我的应用程序中安全地存储[密码],或者有人可以反编译.apk并在classes.dex中找到它?


您可以以某种方式混淆密码,但最终这只是通过模糊来实现安全。想要对其进行逆向工程的人当然可以。

您可能想要查看公钥加密技术以避免这种情况 - 即使有人可以访问公钥,他们仍然无法使用它来冒充您的服务器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在移动应用程序中安全地硬编码密码 的相关文章

  • Android 30+ 中的视频捕获意图 - 只有所有者才能与待处理项目交互

    我正在尝试在我的应用程序上捕获视频 它可以在 android API 30 以下运行 但不能在 30 以上运行 似乎在 sdk 30 之后 android 不允许完全读取外部存储 作用域存储 我目前遇到这个错误 java lang Ille
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • 是否可以将数组或对象添加到 Android 上的 SharedPreferences

    我有一个ArrayList具有名称和图标指针的对象 我想将其保存在SharedPreferences 我能怎么做 注意 我不想使用数据库 无论 API 级别如何 请检查SharedPreferences 中的字符串数组和对象数组 http
  • 使用 ListPicker 和 DataBinding

    好的 我放弃 我想在我的 Windows Phone 应用程序之一中使用 ListPicker 控件 我遇到异常SelectedItem 必须始终设置为有效值 这是我的 ListPicker 的 XAML 部分
  • 计数物体和更好的填充孔的方法

    我是 OpenCV 新手 正在尝试计算物体的数量在图像中 我在使用 MATLAB 图像处理工具箱之前已经完成了此操作 并在 OpenCV Android 中也采用了相同的方法 第一步是将图像转换为灰度 然后对其进行阈值计算 然后计算斑点的数
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • 在gradle插件中获取应用程序变体的包名称

    我正在构建一个 gradle 插件 为每个应用程序变体添加一个新任务 此新任务需要应用程序变体的包名称 这是我当前的代码 它停止使用最新版本的 android gradle 插件 private String getPackageName
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • .NET 中是否有内置函数可以对密码进行哈希处理?

    我看到这个问题加密 散列数据库中的纯文本密码 https stackoverflow com questions 287517 encrypting hashing plain text passwords in database 我知道我
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • iPhone 上的语音识别

    我需要开发一个识别语音的 iPhone 应用程序 并根据结果执行进一步的任务 我知道iPhone 3 0不支持语音识别 我需要在服务器端实现语音识别软件 我只知道这个事情 因为我是新手 所以我不知道如何处理 意味着我需要购买哪些软件并在服务
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位
  • 如何将 google+ 登录集成到我的 Android 应用程序中?

    大家好 实际上我需要通过我的应用程序从 google 登录人们 现在我阅读了 google 上的文档 其中指出 要允许用户登录 请将 Google Sign In 集成到您的应用中 初始化 GoogleApiClient 对象时 请求 PL
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • PHP if/else 简写符号 - 多个条件

    请考虑以下代码构造 condition code if true condition2 code if true2 code if false 这不适用于 PHP 但适用于 JavaScript 有没有办法让它在 PHP 上工作 In PH
  • 将 Airflow 日志格式化为 JSON

    我有一个要求记录阿帕奇气流 https airflow apache org 以 JSON 格式记录到 stdout Airflow 似乎并未立即提供此功能 我找到了几个能够完成此任务的 python 模块 但我无法让实现工作 目前 我正在
  • 将读取的 char 转换为 int C++

    在我的程序中 带有要读取的值 最多 2 位数字 的文件名在终端中给出 我的 main 如下所示 int main int argc char argv assume argv 1 is a filename to open ifstream
  • .NET Standard DLL 二进制文件是否与 .NET Framework 兼容?

    我目前有一个作为 NET Framework 4 6 1 构建的实用程序库 并由各种 NET Framework 应用程序引用 我现在想要创建一个新的 NET Core 应用程序 因此我想将实用程序库转换为 NET Standard 2 0
  • QQuickFramebufferObject:自定义FBO在哪里使用?这怎么会导致闪烁呢?

    我目前正在 QML 中集成自定义 OpenGL 视口QQuickFramebuffer对象 我观察到整个应用程序窗口 不仅是QQuickFramebuffer对象窗口 我想知道为什么 我的定制QQuickFramebufferObject
  • 使用 AppDelegate 进行数据操作和处理是一个好习惯吗?

    我正在制作一个对象AppDelegate并在我的程序中使用它 我已经声明了所有的setter和getter 并且还在其中插入 选择 删除 更新数据库的查询 我想问这样做是一个好的做法吗 如果是 那么如何 如果不是 那么为什么这不是一个好的做
  • 全球化如何设定?

    我陷入了 ASP NET Web API 全球化问题 当我调用 Web API 时 我想获取特定于文化的格式的日期时间 请提供一些见解 在我的解决方案中 首先有一个委托处理程序 其工作是设置文化 它的定义如下 using System us
  • -[UIImage length]:无法识别的选择器发送到带有图像的 NSMutableArray 实例错误

    我有一个故事板应用程序 其中有一个UIViewController and a UICollectionViewController 在视图控制器中 用户从iPhone的照片库中选择多张照片 由于iOS中没有用于多选的API 所以我使用EL
  • PHP system() 和 exec() 函数不适用于临时文件

    我正在使用system PHP 中的函数来调用我需要使用的 CLI 程序 该程序当前在 PHP 中不可用 代码如下 我使用 xml2brl liblouisxml CLI 生成包含盲文 ASCII 文本的输出文件 使用下面的代码 成功创建了
  • sbt使用项目中的类自定义任务

    如何将自定义任务添加到使用 使用类 运行方法等 项目源的 sbt 构建定义 看起来它甚至在编译之前就试图找到它们 我需要知道你为什么要调用这些方法 因为这会改变答案 如果你想做某事 构建相关 想要使用类 方法来执行一些与构建相关的操作 缩小
  • 将 Youtube 播放列表解析为 Listview

    我试图获取 YouTube 播放列表并在列表视图中显示它 我在用着本教程 http blog blundell apps com show youtube user videos in a listview 它对我来说可以很好地获取视频来自
  • 如何确定我的 Java 应用程序正在哪个监视器中运行?

    我想开发一个 Java 应用程序来获取正在运行该应用程序的监视器的屏幕截图 因此 30 分钟前我问了一个有关如何捕获该应用程序正在运行的每个监视器的屏幕截图的问题 但似乎问题已在这里提出并回答 java打印屏幕两个显示器 https sta
  • 将 JavaScript 数组作为参数传递给 WebAssembly 函数

    我想测试 WebAssembly 进行一些复杂的数组计算 所以我写了一个简单的 C 函数添加两个int每个包含 3 个元素的数组 hello cpp extern C void array add int summed int a int
  • Gradle 找不到 android 插件的类路径

    我收到此错误 说它找不到与 android 插件相关的类路径 使用 gradle 1 2 这是错误 Could not find method classpath for arguments org gradle api plugins g
  • 尝试使用 S/4HANA Cloud SDK 使用来自 S/4HANA Cloud 的数据源创建自定义 OData v2 服务

    我正在尝试使用 S 4HANA Cloud SDK 使用 S 4HANA Cloud 数据源在 java 中创建自定义 OData v2 服务 我尝试遵循 SAP Press 书籍 Extending SAP S HANA Side by
  • 如何在notepad++中将一行中的第一个字母设置为大写

    我想在记事本 中将每行的第一个字母设置为大写 我该怎么做 您可以选择仅包含第一列的块 按住Alt当用鼠标选择时 然后按Ctrl Shift U将选定的字母转换为大写 这种选择称为矩形选择在 Notepad 帮助中 您还可以通过按键盘来定义选
  • 如何通过注释在 spring mvc 3 中设置标头无缓存

    如何通过注释在 spring mvc 3 中设置标头无缓存 不是 response setHeader Pragma No cache response setHeader Cache Control no cache response s
  • 扩展 2 个 PHP 类

    我有 3 个课程 3 个文件 a class php b class php c class php 我想在类c 文件3 中扩展类a和b 我怎么能这么做呢 我想在我的新类 C 中使用 a b 的两个类函数 你正在要求多重继承 http en
  • argocd部署后如何运行应用程序E2E测试?

    我想知道在使用 ArgoCD 成功部署任何微服务后 如何运行应用程序 E2E UI 或 API 测试 当前设置 我使用 github actions 设置了 CI 管道 完成任何微服务的 CI 构建后 它会更新位于 github 存储库之一
  • 在移动应用程序中安全地硬编码密码

    我有一个网络服务器 它创建一个二维码 该二维码是 用户名 用户名 密码 的md5哈希值 其中 用户名 是当时登录的用户 其中 password 是我设置的系统密码 对于网络服务器和应用程序来说是通用的 我的 Android iPhone B