Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安卓加密_Java_Android_Security_Cryptography - Fatal编程技术网

Java 安卓加密

Java 安卓加密,java,android,security,cryptography,Java,Android,Security,Cryptography,我正在开发一个android应用程序,其中一个方面需要使用加密。我真的不在乎我使用哪种算法(AES、DES、RSA等等)。我知道Java有一个加密包,但我对它一点也不熟悉。有人能给出一个如何执行加密/解密功能的示例吗?java AES库中有一个缺陷,允许侦听器在适当的情况下对发送的数据包进行解密。看 尽管如此,请检查这个问题 Bouncy Castle AES示例被盗自: 看看我的答案。它包含2个文件,您可以将其包含在任何需要加密数据存储的应用程序中。我也会检查隐藏,看看它是否符合您的要求。它有

我正在开发一个android应用程序,其中一个方面需要使用加密。我真的不在乎我使用哪种算法(AES、DES、RSA等等)。我知道Java有一个加密包,但我对它一点也不熟悉。有人能给出一个如何执行加密/解密功能的示例吗?

java AES库中有一个缺陷,允许侦听器在适当的情况下对发送的数据包进行解密。看

尽管如此,请检查这个问题

Bouncy Castle AES示例被盗自:


看看我的答案。它包含2个文件,您可以将其包含在任何需要加密数据存储的应用程序中。

我也会检查隐藏,看看它是否符合您的要求。它有一个易于使用的API,抽象了加密细节:

考虑到Android中加密和解密数据的开销,我设计了一个只依赖于Android和Java本机库的库,以使过程尽可能简单

要安装,请使用jcenter Distribution center。 在格拉德尔:

编译'com.tinmegali.android:mcipher:0.4'

用法

String ALIAS = "alias"
MEncryptor encryptor = new MEncryptorBuilder( ALIAS ).build();
MDecryptor decryptor = new MDecryptorBuilder( ALIAS ).build();

String toEncrypt = "encrypt this string";
// encrypting
String encrypted = encryptor.encryptString( toEncrypt, this );

// decrypting
String decrypted = decryptor.decryptString( encrypted, this );
MCipher与SDK 19+兼容,它可以自动适应较小和较大的数据块。默认情况下,它对SDK 23+使用
AES/GCM/NoPadding
,对旧版本使用
RSA/ECB/PKCS1Padding


Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider())这是做什么的?我刚刚遇到了一个我认为是有史以来最奇怪的巧合:我观看了链接的youtube视频,在顶行的每个字节都被解密后(从右到左),我的计算机重新启动。当我检查系统日志时,这是由于CPU温度高于阈值。当我打开电脑用artic silver 5更换热腻子时,我看到显卡上的散热器风扇烧坏了(字面上是棕色、起泡和扭曲)。我忍不住怀疑有一些错误的flash软件漏洞。@snapfractalpop-我想你感染了“雪崩”病毒。我只是查了一下,读到了它。。我只是感染了我的思想吗?6年半后。。。此缺陷是否仍然存在?算法在很大程度上取决于使用场景。你在保护什么?你打算保护谁、保护哪里、保护为什么以及保护方式?AES(对称密码)和RSA(非对称密码)的功能非常不同。我只是在设备上本地存储用户名和密码。我有一个RSA实现,并将其用于我的目的。@Steven-我不确定RSA是否是最好的系统。我怀疑您想存储远程服务的用户名和密码,并使用它“透明”访问某些服务?这对于使用对称加密(AES)进行保护是有意义的,但是如何保护AES密钥呢?使用密码派生的密钥?使用一些系统密钥(可能Android提供了一些内部密钥),在使用您自己的密钥之前,请确保Android不提供“密钥链”或“密码存储”式服务,这将为您提供服务。对于未来的读者,请检查库,以确保使用密钥派生安全地实现加密/解密,编码和多种数据类型可能会变得非常复杂。我明天将测试它。它看起来很有趣。谢谢兄弟。
String ALIAS = "alias"
MEncryptor encryptor = new MEncryptorBuilder( ALIAS ).build();
MDecryptor decryptor = new MDecryptorBuilder( ALIAS ).build();

String toEncrypt = "encrypt this string";
// encrypting
String encrypted = encryptor.encryptString( toEncrypt, this );

// decrypting
String decrypted = decryptor.decryptString( encrypted, this );