安卓學習之Cipher類 加密和解密

2021-10-09 19:01:53 字數 4789 閱讀 1447

- 

● 【安卓學習之第三方庫】庫的使用2-jar類庫的使用(以dom4j為例)和公升級(以極光推送為例)

- ● 本文通過學習別人寫demo,學習一些課件,參考一些部落格,』學習相關知識,如果涉及侵權請告知

● 本文只簡單羅列相關的**實現過程

● 涉及到的邏輯以及說明也只是簡單介紹,主要當做筆記,了解過程而已

- ● 加密:

key:加密用的key 可以用26個字母和數字組成 此處使用aes-128-cbc加密模式,key需要為16位。

ivparameter:偏移量,可增加加密演算法的強度

src:要加密的字串:如手機號、身份證、住址、密碼等

public string encrypt

(string key,string ivparameter,string src)

catch

(exception e)

return"";

}

● 解密:

key:加密用的key 可以用26個字母和數字組成 此處使用aes-128-cbc加密模式,key需要為16位。

ivparameter:偏移量,可增加加密演算法的強度

src:要解密的字串:如手機號、身份證、住址、密碼等

public string decrypt

(string key,string ivparameter,string src)

catch

(exception ex)

return"";

}

- 

● string.getbytes():

string.getbytes():得到乙個作業系統預設的編碼格式(utf-8)的位元組陣列

string.getbytes(string decode):根據指定的decode編碼返回某字串在該編碼下的byte陣列表示

system.out.

println

("0:"

+new

gson()

.tojson

("123abc"

.getbytes()

)); system.out.

println

("1:"

+new

gson()

.tojson

("123abc"

.getbytes

("ascii"))

);system.out.

println

("2:"

+new

gson()

.tojson

("123abc"

.getbytes

("utf-8"))

);system.out.

println

("3:"

+new

gson()

.tojson

("你好"

.getbytes()

)); system.out.

println

("4:"

+new

gson()

.tojson

("你好"

.getbytes

("ascii"))

);system.out.

println

("5:"

+new

gson()

.tojson

("你好"

.getbytes

("utf-8"))

);system.out.

println

("6:"

+new

gson()

.tojson(.

getbytes()

)); system.out.

println

("7:"

+new

gson()

.tojson(.

getbytes

("ascii"))

);system.out.

println

("8:"

+new

gson()

.tojson(.

getbytes

("utf-8"))

);

i/system.out:

0:[49,50

,51,97

,98,99

]i/system.out:

1:[49,50

,51,97

,98,99

]i/system.out:

2:[49,50

,51,97

,98,99

]i/system.out:

3:[-28,

-67,-

96,-27

,-91,

-67]i/system.out:

4:[63,63

]i/system.out:

5:[-28,

-67,-

96,-27

,-91,

-67]i/system.out:

6:[-28,

-67,-

96,-27

,-91,

-67,-

17,-68

,-116,-26

,-120,

-111,-

27,-91

,-67,

-17,-

68,-116,-

27,-92

,-89,

-27,-

82,-74

,-27,

-91,-

67,-17

,-68,

-127

]i/system.out:

7:[63,63

,63,63

,63,63

,63,63

,63,63

]i/system.out:

8:[-28,

-67,-

96,-27

,-91,

-67,-

17,-68

,-116,-26

,-120,

-111,-

27,-91

,-67,

-17,-

68,-116,-

27,-92

,-89,

-27,-

82,-74

,-27,

-91,-

67,-17

,-68,

-127

]

● 加密解密耗時多久?加密後長怎麼樣?

// 需要加密的字串

string src =

"123abc"

;// 加密

long starttime = system.

currenttimemillis()

; string encryptstr=

encrypt

("1234567890abcdef"

,"1234567890abcdef"

,src)

; system.out.

println

("加密後的字串是:"

+ encryptstr)

;long usetime = system.

currenttimemillis()

- starttime ;

system.out.

println

("加密耗時:"

+ usetime +

"毫秒");

// 解密

starttime = system.

currenttimemillis()

; string decryptstr=

decrypt

("1234567890abcdef"

,"1234567890abcdef"

,encryptstr)

; system.out.

println

("解密後的字串是:"

+ decryptstr)

; usetime = system.

currenttimemillis()

- starttime ;

system.out.

println

("解密耗時:"

+ usetime +

"毫秒"

);

i/system.out: 加密後的字串是:3uyp43nu4efvnpyv96u+gq==

i/system.out: 加密耗時:1毫秒

i/system.out: 解密後的字串是:123abc

i/system.out: 解密耗時:0毫秒

i/system.out: 加密後的字串是:zwfyduj5qaaj1w77uopdkg==

i/system.out: 加密耗時:0毫秒

i/system.out: 解密後的字串是:你好

i/system.out: 解密耗時:0毫秒

i/system.out: 加密後的字串是:zainwveubs3mblnuhbhu8moays/qqa1sysoq/

+dxdkk=

i/system.out: 加密耗時:1毫秒

i/system.out: 解密耗時:0毫秒

java高階之對接安卓MD5加密工具類

public static string getkey string plaintext catch nosuchalgorithmexception e string md5code new biginteger 1,secretbytes tostring 16 16進製制數字 如果生成數字未滿...

安卓學習筆記之騷擾攔截

1 監聽 狀態 2 檢測來電號碼是否匹配攔截條件 3 若匹配,則結束通話 telephonymanager tm telephonymanager getsystemservice telephony service mphonestatelistener listener new mphonest...

安卓互動之shape的學習

為了實現透明邊框的圓角矩形的按鈕背景,所以了解了一下shape的各項屬性 1.shape中常用的屬性如下 有四種屬性值,矩形,橢圓,線,圓環 android centerx integer 0 1,漸變的x軸起始位置 android centery integer 0 1,漸變的y軸起始位置 and...