草庐IT

Encryption

全部标签

android - 安全地存储客户 secret

我知道publicclientshouldn'tuseaclientsecret因为,无论你如何混淆它,它都不会受到reverseengineering的保护。.但是,负责我正在验证的服务的人员不想/不能更改它。因此,我需要存储客户端secret并尽可能地保护它免受逆向工程。所以,我想到了在构建时使用gradle对其进行加密并将其存储在文件中。然后,当我在运行时需要它时,我会解密它。但现在我必须解决如何存储加密key的问题......我不太了解安全性,所以,我不知道这是否可以解决,或者Android(最低sdk15)是否为这种情况提供任何机制。有什么想法吗?

javax.crypto 在不同版本的 Android 操作系统中的工作方式不同?

我正在使用此代码fragment来加密/解密我应用数据库中的数据:http://www.androidsnippets.com/encryptdecrypt-strings看来javax.crypto.KeyGenerator.generateKey()操作在Android2.3.3操作系统中的工作方式与其他(以前的?)版本不同。自然地,当我的用户将他们的设备从2.2升级到2.3.3并且应用程序开始抛出解密数据库的错误时,这对我的用户来说是一个主要问题。这是一个已知问题吗?我是否错误地使用了加密库?有人对如何解决这个问题有任何建议,以便能够在2.3.3中解密在2.2中加密的数据吗?我构

Android:如何获取当前的 Wifi 加密?

我有一个监听器监听连接变化,尤其是从GSM到WIFI。现在我想记录用户连接到哪些WIFI,特别是WIFI的加密类型(无,WEP,WPA,WPA2,...)。监听器工作完美,但我找不到任何方法来获取当前Wifi的加密类型。感谢您的帮助。 最佳答案 使用WifiManager获取当前连接的详细信息,然后获取WifiConfiguration这应该会给你更多的信息。WifiManagerwifiManager=(WifiManager)getSystemService(Context.WIFI_SERVICE);WifiInfowi=Wi

Android Keystore, key 的安全值

我目前正在研究使用Android4.3中引入的安全/改进的keystore。我想在这个keystore中存储一个加密key,这个key用于加密一个sqllite数据库和我的共享首选项中包含的值。当我查看SDK中的KeyStore示例时,我看到以下内容:publicstaticfinalStringALIAS="my_key"如果有人能够反编译我的代码,他们将能够看到明文别名(=从keystore中检索加密key的key),因此他们将能够获得对我的加密key的引用。我如何安全地管理我的ALIAS?还是我错过了重点? 最佳答案 以下答案

java - Android SecretKeyFactory 问题。未找到实现?

我正在尝试为Android创建一个使用加密来保存用户信息的应用程序,但我不知道自己做错了什么。我正在尝试使用“PBKDF2WithHmacSHA1”算法创建SecretKeyFactory的实例,但应用程序在程序的那个点继续抛出异常(无论是在模拟器中还是在真实硬件上都无关紧要)。代码:SecretKeyFactorysecretFactory=SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");异常(exception):java.security.NoSuchAlgorithmException:SecretKeyFactoryPBK

Android - 如何从指纹认证中获取唯一 key ?

我想使用AES加密和解密SD卡中的文件。为了做到这一点,我们总是需要一个seed(通常是用户插入的字符串作为密码):publicstaticbyte[]generateKey(Stringpassword)throwsException{byte[]keyStart=password.getBytes("UTF-8");KeyGeneratorkgen=KeyGenerator.getInstance("AES");SecureRandomsr=SecureRandom.getInstance("SHA1PRNG","Crypto");sr.setSeed(keyStart);kgen

java - Android KeyStore 系统 - 保存 key 对?

我目前正在尝试在我的Android应用程序中整合一个功能性的KeyStore实现。我目前正在针对至少18个API进行构建,以便我可以充分利用我的应用程序的私有(private)KeyStore。我正在尝试生成n个KeyPair对象,并将它们保存在KeyStore中以供以后检索。我看过thisquestion,但是它似乎有点过时(2012年)并且并没有真正很好地回答任何问题。老实说,我在StackOverflow上发现的大多数问题似乎都过时了,比如here和here.所以我的预期流程是这样的:尝试从与适当别名相关的证书中检索公钥。如果此公钥为空,则创建一个新key。利用KeyPairGe

android - 如何在Android中添加Bouncy CaSTLe算法?

我正在尝试使用bouncycaSTLe算法编写一个小型应用程序,来自BouncyCastleProvider.java它说我们必须在运行时通过以下代码导入和添加提供程序导入org.bouncycaSTLe.jce.provider.BouncyCaSTLeProvider;Security.addProvider(newBouncyCaSTLeProvider());错误-导入o​​rg.bouncycaSTLe无法解析;进口期间错误-BouncyCaSTLeProvider无法解析为类型;调用addProvider时虽然bouncycaSTLe没有随Android1.6SDK提供,所

android - PBKDF2 与 Android 上的 SHA256

我想使用PBKDF2和SHA256生成密码的派生散列。使用此SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1")这项工作但它使用SHA1。使用SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256")(或使用spongycaSTLe时使用SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256","SC"))我遇到错误。如何使用PBKDF2WithHmacSHA256成功生成哈希? 最佳答案 如果

android - 检查Android文件系统是否加密

我们正在为Android开发安全的应用程序。用户需要对他们设备的文件系统进行加密,但我们必须检查这一事实并禁止使用应用程序。是否可以检查文件系统是否已加密?还有一些Android 最佳答案 只是为了澄清CommonsWare的答案,您可以在没有任何Android权限的情况下读取设备加密状态。/***Returnstheencryptionstatusofthedevice.PriortoHoneycomb,wholedeviceencryptionwas*notsupportedbyAndroid,andthismethodretu