導航:首頁 > 文檔加密 > 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加密相關的資料

熱點內容
程序員怎麼學會開車的技巧 瀏覽:780
網易郵箱如何刪除伺服器郵件 瀏覽:149
java多個泛型 瀏覽:269
安卓折扣號怎麼充值 瀏覽:601
行政決定行政命令 瀏覽:893
linux下的軟連接 瀏覽:604
fib在python是什麼意思 瀏覽:534
c調用命令行 瀏覽:941
阿里雲伺服器中沒有apt 瀏覽:611
發送信息需要用戶加密嗎 瀏覽:638
六年級分數乘分數有幾種演算法 瀏覽:300
到哪裡查自己的app賬號 瀏覽:124
光大app點擊哪裡可以查年費 瀏覽:879
加密狗軟體先安裝還是先先後順序 瀏覽:356
柱頭加密區箍筋間距一般多少 瀏覽:685
美團商家版本服務中心在app哪裡 瀏覽:992
androidgps調試 瀏覽:823
比心app怎麼下載官方 瀏覽:50
安卓怎麼隱藏手機上的app 瀏覽:582
hp光纖交換機命令 瀏覽:898