Javascript 可以在React Native中创建自哈希应用程序吗?
比如说,我想制作一个处理敏感用户数据的应用程序,用户可能不会信任它,除非他们自己能够验证iOS/Android应用程序与GitHub repo中的源程序完全相同 React Native中是否有某种方法可以让我的应用程序在Javascript 可以在React Native中创建自哈希应用程序吗?,javascript,react-native,Javascript,React Native,比如说,我想制作一个处理敏感用户数据的应用程序,用户可能不会信任它,除非他们自己能够验证iOS/Android应用程序与GitHub repo中的源程序完全相同 React Native中是否有某种方法可以让我的应用程序在mainjs.bundle文件上运行MD5哈希,并在应用程序中显示?然后,从理论上讲,精通技术的用户可以克隆GitHub repo,构建它,并在mainjs.bundle上运行自己的MD5哈希,然后查看它是否匹配 当然,这并不是万无一失的。恶意开发人员很容易就拥有一个私有的re
mainjs.bundle
文件上运行MD5哈希,并在应用程序中显示?然后,从理论上讲,精通技术的用户可以克隆GitHub repo,构建它,并在mainjs.bundle
上运行自己的MD5哈希,然后查看它是否匹配
当然,这并不是万无一失的。恶意开发人员很容易就拥有一个私有的repo,在那里他们硬编码散列,插入恶意代码,然后发布到应用商店。但这可能是一个不错的起点。我也愿意接受其他/更好的想法 你在应用程序中显示的任何内容都毫无价值,因为应用程序的修改版本可以显示相同的内容 你要做的是给人们提供执行步骤,以测试他们拥有的应用程序是否正确 看起来像
- 具有发布版本->git commit的表
- 从apk/ipa提取js包的步骤
- 从源代码构建捆绑包的步骤
请注意,它不包含比较本机代码的步骤,本机代码也可能包含恶意软件:您在应用程序中显示的任何内容都毫无价值,因为应用程序的修改版本可以显示相同的内容 你要做的是给人们提供执行步骤,以测试他们拥有的应用程序是否正确 看起来像
- 具有发布版本->git commit的表
- 从apk/ipa提取js包的步骤
- 从源代码构建捆绑包的步骤
请注意,它不包含比较本机代码的步骤,本机代码也可能包含恶意软件:这实际上是一个难题。除了在应用商店外提供.apk文件,并使用已知良好的GPG密钥对这些文件进行数字签名之外,您无能为力。从构建中生成的任何散列都可以被简单地复制和硬编码。这实际上是一个难题。除了在应用商店外提供.apk文件,并使用已知良好的GPG密钥对这些文件进行数字签名之外,您无能为力。从构建中生成的任何散列都可以被简单地复制和硬编码。因此,从本质上讲,他们必须对IPA文件进行反向工程,以获得
mainjs.bundle
文件,从源代码构建该bundle,并比较两个文件的散列?从本质上讲,他们必须对IPA文件进行反向工程,以获得mainjs.bundle
文件,从源代码构建bundle,并比较两个文件的哈希?