草庐IT

Encryption

全部标签

android - AES/CBC/PKCS5Padding加密解密算法和SHA-1哈希算法是否适用于所有类型的Android设备

我曾尝试在Nexus5中运行以下AES/CBC/PKCS5Padding加密和解密代码,使用SHA-1作为key生成。它运行良好到目前为止。然而,我唯一担心的是,AES/CBC/PKCS5Padding加密解密算法和SHA-1哈希算法是否适用于所有类型的Android设备?以下代码是否有可能无法在某些Android设备上运行?如果有,是否有后备方案?AES/CBC/PKCS5Padding//http://stackoverflow.com/questions/3451670/java-aes-and-using-my-own-keypublicstaticbyte[]generate

java - 加密和解密xml

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭2年前。Improvethisquestion我正在制作一个应用程序,我必须在其中加密我这边的xml并将其发送到服务器,作为响应,我将收到xml并且我必须解密它。我不知道加密和解密。我的代码如下user.s7gspcsmo我正在使用这段代码进行加密和解密publicstringencryptData(stringkey,stringdata){intkeyLen=key.Length;intdataLen=Convert.ToInt16(data.L

java - BadPaddingException 解密 Android 中的加密数据

我是Android安全概念的新手。我一直在阅读一些博客来了解我们可以使用公钥加密数据并可以使用各自的私钥解密数据。加密似乎没有任何问题,但是当我尝试解密它时,它会抛出:javax.crypto.BadPaddingException:error:0407106B:rsaroutines:RSA_padding_check_PKCS1_type_2:blocktypeisnot02.我的代码如下:publicStringRSAEncrypt(finalStringplain,PublicKeypublicKey)throwsNoSuchAlgorithmException,NoSuchP

android - 阻止非 Android 用户调用 JSON 服务

我的Android应用程序正在通过HTTP调用JSON服务,我只想允许我的应用程序调用该服务并阻止其他应用程序。最好的方法是什么?我能想到的一种方法是使用私钥/公钥加密。我们能否在应用程序中安全地嵌入私钥? 最佳答案 在您的应用程序中包含一些隐藏的证书/凭据,每个下载的应用程序都不同。然后使用这些进行身份验证。即便如此,这也很容易被滥用,尽管如此,您已经设置了第一道防线。之后尝试根据IP、凭据等限制单个客户端请求、限流、黑名单的比例。 关于android-阻止非Android用户调用JS

Android AES 和初始化向量

我在AES加密和解密方面遇到问题:我可以完全更改我的IV,但我仍然能够解码我的数据。publicstaticfinalbyte[]IV={65,1,2,23,4,5,6,7,32,21,10,11,12,13,84,45};publicstaticfinalbyte[]IV2={65,1,2,23,45,54,61,81,32,21,10,121,12,13,84,45};publicstaticfinalbyte[]KEY={0,42,2,54,4,45,6,7,65,9,54,11,12,13,60,15};publicstaticfinalbyte[]KEY2={0,42,2,5

java - 使用 Android 实现 Bouncy CaSTLe 密码算法

如何使用BouncyCaSTLe提供程序来实现Serpent和Twofish等算法,因为Sun的提供程序根本不实现这些。我知道当多个供应商可以实现相同的算法时,您会从排名最高的供应商那里获得实现,这将是Sun供应商。如果出于某种原因你想使用来自特定提供者的实现(可能是因为你知道它更快),你可以在getInstance()的双参数版本中指定提供者。就我而言,Sun供应商根本没有实现我感兴趣的算法。我试图实现Serpent:publicstaticfinalStringFILE_EXTENSION=".serpent";publicstaticfinalStringPROVIDER="BC

android - 查明设备是否经过全盘加密以及使用了什么加密方式?

由于支持Android3.0全盘加密,但我看不到该功能的任何API。我需要知道的两件事是:设备是否加密?使用什么加密方式。我找到了processhere的低级解释并且它似乎暗示使用的加密是128AESwithCBC和ESSIV:SHA256,但它没有谈论一种方法来查找设备是否已加密。那么,我的应用程序是否可以查询设备是否正在使用全盘加密功能,或者我是否需要求助于Runtime.exec调用等骇人听闻的解决方案? 最佳答案 正如@Mikle提到的,您只需调用DevicePolicyManager并询问其状态@SuppressLint(

android - 如何安全地将一些数据从服务器传输到安卓设备

我正在开发一个Android应用程序,我需要从服务器安全地获取一些数据,确保除了应用程序和服务器之外没有人可以访问这些数据。为此,我计划使用公钥/私钥加密。这是正确的方法,还是有更好的方法?我对安卓和加密都不熟悉。关于我在哪里可以获得有关如何实现它的一些细节/示例的任何指示。谢谢编辑:我还打算用私钥加密,用公钥解密,这不是约定俗成的。有什么问题吗? 最佳答案 将您的数据打包成一个JSON包,并在服务器上使用与客户端相同的key对其进行加密。确保移动端的key是类的硬编码(静态字段),而不是在任何xml文件中。我见过人们这样做是因为“

android - 以编程方式检测 Android 设备是否能够进行存储加密

我正在开发一个Android应用程序,用于启动设备上的数据加密过程。我正在使用此代码检测加密状态:intencrypted=0;device_policy_manager=(DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB){encrypted=device_policy_manager.getStorageEncryptionStatus();Log.d("TAG","encryption

安卓 2.1 : Bluetooth Encryption

Android设备和笔记本电脑之间的蓝牙连接是否默认加密?蓝牙服务器在安卓智能手机上启动,因此,连接由笔记本电脑发起。谢谢,彼得 最佳答案 这个问题的答案是肯定的......以及为什么可以在这里看到评论:BluetoothSecure?如果您真的想深入了解蓝牙安全性,请访问HowStuffWorks 关于安卓2.1:BluetoothEncryption,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com