导航:首页 > 文档加密 > android加密

android加密

发布时间:2022-01-25 14:56:45

1. 求安卓加密,安卓应用加密方式

android是用java语言开发的,java语言,JDK给我们提供了非常多的加密算法

如基本的单向加密算法:

  1. BASE64 严格地说,属于编码格式,而非加密算法

  2. MD5(Message Digest algorithm 5,信息摘要算法)

  3. SHA(Secure Hash Algorithm,安全散列算法)

  4. HMAC(Hash Message Authentication Code,散列消息鉴别码)


复杂的对称加密(DES、PBE)、非对称加密算法:

  1. DES(Data Encryption Standard,数据加密算法)

  2. PBE(Password-based encryption,基于密码验证)

  3. RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)DH(Diffie-Hellman算法,密钥一致协议)

  4. DSA(Digital Signature Algorithm,数字签名)

  5. ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)


以下就是讲解BASE64、MD5、SHA、HMAC几种方法

MD5、SHA、HMAC这三种加密算法,可谓是非可逆加密,就是不可解密的加密方法。我们通常只把他们作为加密的基础。单纯的以上三种的加密并不可靠。


一. BASE64
按 照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.)
常见于邮件、http加密,截取http信息,你就会发现登录操作的用户名、密码字段通过BASE64加密的。


二. MD5

MD5 -- message-digest algorithm 5 (信息-摘要算法)缩写,广泛用于加密和解密技术,常用于文件校验。校验?不管文件多大,经过MD5后都能生成唯一的MD5值。好比现在的ISO校验,都 是MD5校验。怎么用?当然是把ISO经过MD5后产生MD5的值。一般下载linux-ISO的朋友都见过下载链接旁边放着MD5的串。就是用来验证文 件是否一致的。


三. SHA

SHA(Secure Hash Algorithm,安全散列算法),数字签名等密码学应用中重要的工具,被广泛地应用于电子商务等信息安全领域。虽然,SHA与MD5通过碰撞法都被破解了, 但是SHA仍然是公认的安全加密算法,较之MD5更为安全。


四. HMAC
HMAC(Hash Message Authentication Code,散列消息鉴别码,基于密钥的Hash算法的认证协议。消息鉴别码实现鉴别的原理是,用公开函数和密钥产生一个固定长度的值作为认证标识,用这个 标识鉴别消息的完整性。使用一个密钥生成一个固定大小的小数据块,即MAC,并将其加入到消息中,然后传输。接收方利用与发送方共享的密钥进行鉴别认证 等。

2. 在android中如何打开加密过的sqlite数据库

在ANDROID中,应用的数据是私有的,你要得到其他应用的数据,可以通过ContentProvider来实现。

3. android md5加密怎么用


importjava.security.MessageDigest;

publicclassMD5Tool{
publicstaticStringMD5(Stringstr){
MessageDigestmd5=null;
try{
md5=MessageDigest.getInstance("MD5");
}catch(Exceptione){
e.printStackTrace();
return"";
}
char[]charArray=str.toCharArray();
byte[]byteArray=newbyte[charArray.length];
for(inti=0;i<charArray.length;i++){
byteArray[i]=(byte)charArray[i];
}
byte[]md5Bytes=md5.digest(byteArray);
StringBufferhexValue=newStringBuffer();
for(inti=0;i<md5Bytes.length;i++)
{
intval=((int)md5Bytes[i])&0xff;
if(val<16)
{
hexValue.append("0");A
}
hexValue.append(Integer.toHexString(val));
}
returnhexValue.toString();
}

publicstaticStringencryptmd5(Stringstr){
char[]a=str.toCharArray();
for(inti=0;i<a.length;i++)
{
a[i]=(char)(a[i]^'l');
}
Strings=newString(a);
returns;
}

}

在要加密的地方,调用这个类的MD5方法就可以加密了,解密就调用这个类的encryptmd5方法,不过好像解密方法不完全正确,毕竟是解密,不可能对复杂字符加密后的解密完全正确。不过加密算法是完全没有问题的。

4. Android 开发怎样做代码加密或混淆

首先因为基于java,所以别指望别人完全无法反编译
用proguard吧,好处是就算被反编译,没有规律的变量名至少会造成阅读上的难度。
现在android sdk插件可以帮你自动生成proguard配置脚本,对于简单的混淆来说,完全可以实现傻瓜式代码混淆。如果你要保留一些关键字,请参考http://proguard.sourceforge.net/FAQ.html的命令说明修改proguard配置文件。

5. android 接口数据如何加密

方法步骤如下:

1.选择要发布的项目,右键如下:

7.点击Finish完成发布,在相应的位置生成两个文件为:

XX.apk和步骤4所起的文件名。

6. android-如何加密所有的布局文件

Android 工程里面 xml文件是不能加密的 你看到别人的apk 布局文件加密,其实是因为你直接用解压缩文件看到的文件是被编译过的,直接打开是看不到的,需要使用反编译工具,这样你就可以看到别人的布局啦!

7. android 密钥 怎么加密

有这样2个类:

KeyGenerator:此类提供(对称)密钥生成器的功能。

Cipher:此类为加密和解密提供密码功能。

在加密和解密过程中Cipher会使用到KeyGenerator生成的key进行加密(生成密文)和解密(解析密文)

[java] view plainprint?
01.public class Main {
02. public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {
03. //-------------------加密过程---------------------------------
04. //产生一个key,需要关联一种“DES”算法
05. KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");
06. SecretKey deskey = keyGenerator.generateKey();
07. //需要加密的info
08. String info = "12345678";
09. //输出加密前的密文内容
10. System.out.println(""+info);
11. //产生一个Random
12. SecureRandom sr = new SecureRandom();
13. byte[] cipherByteEncrypt = null;
14. try {
15. Cipher c1 = Cipher.getInstance("DES");
16. c1.init(Cipher.ENCRYPT_MODE, deskey, sr);
17. //生成密文
18. cipherByteEncrypt = c1.doFinal(info.getBytes());
19. } catch (Exception e) {
20. e.printStackTrace();
21. }
22. //输出加密后的密文内容
23. System.out.println(""+new String(cipherByteEncrypt,"ISO-8859-1"));
24.
25.
26. //-------------------解密过程-----------------------------------
27. //产生一个Random
28. sr = new SecureRandom();
29. byte[] cipherByteDecrypt = null;
30. try {
31. Cipher c1 = Cipher.getInstance("DES");
32. c1.init(Cipher.DECRYPT_MODE, deskey, sr);
33. //解析密文
34. cipherByteDecrypt = c1.doFinal(cipherByteEncrypt);
35. } catch (Exception e) {
36. e.printStackTrace();
37. }
38. System.out.println(""+new String(cipherByteDecrypt,"ISO-8859-1"));
39.
40. }
41.
42.}
public class Main {
public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {
//-------------------加密过程---------------------------------
//产生一个key,需要关联一种“DES”算法
KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");
SecretKey deskey = keyGenerator.generateKey();
//需要加密的info
String info = "12345678";
//输出加密前的密文内容
System.out.println(""+info);
//产生一个Random
SecureRandom sr = new SecureRandom();
byte[] cipherByteEncrypt = null;
try {
Cipher c1 = Cipher.getInstance("DES");
c1.init(Cipher.ENCRYPT_MODE, deskey, sr);
//生成密文
cipherByteEncrypt = c1.doFinal(info.getBytes());
} catch (Exception e) {
e.printStackTrace();
}
//输出加密后的密文内容
System.out.println(""+new String(cipherByteEncrypt,"ISO-8859-1"));

//-------------------解密过程-----------------------------------
//产生一个Random
sr = new SecureRandom();
byte[] cipherByteDecrypt = null;
try {
Cipher c1 = Cipher.getInstance("DES");
c1.init(Cipher.DECRYPT_MODE, deskey, sr);
//解析密文
cipherByteDecrypt = c1.doFinal(cipherByteEncrypt);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(""+new String(cipherByteDecrypt,"ISO-8859-1"));

}

}输出:

12345678
3M±@*:?;???+j??? ---------------->这是密文
12345678

8. Android APP加密方法都有哪些

伪加密是Android4.2.x系统发布前的Android加密方式之一,通过java代码对APK(压缩文件)进行伪加密,其修改原理是修改连续4位字节标记为”P K 01 02”的后第5位字节,奇数表示不加密偶数表示加密。
Android APP加密方法都有哪些?

虽然伪加密可以起到一定防破解作用,但也会出现问题,首先使用伪加密对其 Android APK加密后市场无法对其进行安全检测,导致部分市场会拒绝这类APK上传;其次,伪加密的加密方式和解密方式也早已公布导致它的安全程度也大大降低;再次,Android4.2.x系统无法安装伪加密的APK;最后伪加密只是对APK做简单保护,在java层源码加壳保护、核心so库、资源文件、主配文件、第三方架包方面却没有任何保护处理。Android APP加密方法都有哪些?

混淆保护
把原来有具体含义的类名,变量名,方法名,修改成让人看不懂的名字,例如方法名getUserName编程了方法名。Android APP加密方法都有哪些?
混淆保护只是增加了代码阅读难度,对于破解基本上是没有实质性作用的!Android APP加密方法都有哪些?

运行时验证

运时验证,主要是指在代码启动的时候本地获取签名信息然后对签名信息进行检验来判断自己的应用是否是正版,如果签名信息不是正版则提示盗版或者直接崩溃。当然你可以把必要的数据放在服务器端。Android APP加密方法都有哪些?破解:找到smali文件中,判断是否相等的部分。改为常量true,即失效。

总之,反编译一些apk之后,只要是java代码写的总会有smil文件。对于smil文件,如果耐心读的话,还是可以查看到一些关键代码的。

相较于应用来说,游戏apk因为采用cocos2d-x或者 unity3D,采用的是c++和c# 编写的跨平台程序,在apk采用JNI的方式。所以没有smali,可以防止静态被破解apk包。Android APP加密方法都有哪些?

当然游戏包apk在运行的时候,会把.*so加载到内存中。动态也是可以在内存中抓取相应的数据。只不过NDK相对于smali破解来说,根部不是一个层级的关系。=

9. android程序加密与混淆

爱加密移动安全平台专为移动应用开发者提供安全服务,提供涉及APP开发、运营等环节的一站式服务,全方位保护APP安全。APP通过使用爱加密平台加固保护,可以有效的防止应用在运营推广过程中被反编译、恶意篡改、注入扣费代码、盗取数据等,保护应用的安全性、稳定性,从而保护开发者和用户的利益。
服务了开发者约1万多名,中国电信、拓词、熊猫公交、快刀切木、美食杰、91熊猫看书等超12000款应用都使用了爱加密的保护加固服务。例如,火爆至今的游戏“史上最坑爹的游戏”就曾在发布之初深受各种盗版、破解版之害,除了自己权利得不到维护之外,还要替那些盗版APP背黑锅。随后在更新的版本中,“史上最坑爹的游戏”加入了爱加密的保护,盗版踪影渐渐难觅。

10. android加密算法有哪些

android中用的到加密:

  1. Https编程 :应该是使用带安全的网络协议处理。除非你本地需要加密

2.数据签名:混淆代码和防二次打包的APK加密技术

3.对称加密:可以先将数据通过某种加密方式加密发送到服务器端,然后服务器端再解密 ,项目中除了登陆,支付等接口采用rsa非对称加密,之外的采用aes对称加密

4.非对称加密====支付宝

数字摘要是指通过算法将长数据变为短数据,通常用来标识数据的唯一性,是否被修改,常用的加密算法有md5和sha1两种,如Android的App签名也是用的这两种算法。

由于以上两种生成数字摘要的算法都是不可逆的,对于可逆的加密算法中,按照密钥的数量和加密规则一半分为对称加密和非对称加密两类:

对称加密:

密钥可以自己指定,只有一把密钥,如果密钥泄漏数据就会暴漏;

常用的对称加密算法有DES和AES两种;

特点是加密速度快,但是缺点是安全性低,因为只要密钥暴漏,数据就可以被解密。

非对称加密的特点:

常见的非对称加密算法是RSA;

他有两把密钥,且是由程序生成的,不能自己指定;

特点是加密速度比较慢,但是安全性比较高;

加密和解密的规则是:公钥加密只能私钥解密,私钥加密只能公钥解密;

阅读全文

与android加密相关的资料

热点内容
cmd杀死进程命令 浏览:233
ipad激活服务器地址 浏览:449
单片机开始直流电机压降问题 浏览:15
服务器地址失败怎么办 浏览:144
安卓手机怎么下载苏联游戏 浏览:128
主教的命令 浏览:803
php判断变量为空 浏览:743
你演我猜安卓版本怎么用 浏览:908
已够app哪里看 浏览:1006
程序员怎么学会开车的技巧 浏览:784
网易邮箱如何删除服务器邮件 浏览:152
java多个泛型 浏览:275
安卓折扣号怎么充值 浏览:603
行政决定行政命令 浏览:895
linux下的软连接 浏览:606
fib在python是什么意思 浏览:534
c调用命令行 浏览:942
阿里云服务器中没有apt 浏览:611
发送信息需要用户加密吗 浏览:638
六年级分数乘分数有几种算法 浏览:300