【Android】序列化

序列化

序列化

把數(shù)據(jù)對(duì)象(一般是內(nèi)存中的沾凄,例如JVM中的對(duì)象)轉(zhuǎn)換成字節(jié)序列的過程
(不是說一定要實(shí)現(xiàn)Serializable接口)
{"name":"zhangsan","age":20}

反序列化

把字節(jié)序列重新轉(zhuǎn)換成內(nèi)存中的對(duì)象
目的:讓內(nèi)存中的對(duì)象可以被存儲(chǔ)和傳輸

序列化是編碼嗎?

嚴(yán)格來說不屬于編碼,因?yàn)椴皇菑囊环N格式轉(zhuǎn)換成另一種格式

Hash

定義:把任意數(shù)據(jù)轉(zhuǎn)換成指定大小范圍(通常很小)的數(shù)據(jù)
作用:摘要、數(shù)字指紋
經(jīng)典算法:MD5鸭你、SHA1、SHA256等 (提取信息當(dāng)做指紋)
例:
public void hash(String str){
    return str.length();
}

hash("dog") == 3
hash("apple") == 5
hash("cat") == 3
其中dog和cat的hash值相同擒权,被稱為發(fā)生了碰撞袱巨;優(yōu)秀的算法應(yīng)該盡可能低的碰撞率。
而通過3可以推出其中一個(gè)原文碳抄,這被稱為破解愉老;優(yōu)秀的算法應(yīng)該防破解。

實(shí)際用途

(1)數(shù)據(jù)完成性驗(yàn)證
(2)快速查找:hashCode() 和HashMap

例:在重寫equals時(shí)必須要重寫hashCode纳鼎,因?yàn)閔ashmap做判斷會(huì)用hashCode俺夕,hashCode會(huì)快速簡單的判斷裳凸。
如果沒有重寫hashCode,可能會(huì)出現(xiàn)equals是相等的劝贸,但hashCode不等的情況

public class Example{
    String name;
    int age;

    public boolean equals(Object o){
        return agr == o && name.equals(o.name);
    }

    public int hashCode(){
        return age * 10000 + name.length();
    }
}
為什么不直接將equals的返回值返回hashCode呢姨谷?因?yàn)閔ashCode雖然很快,但是不夠精確映九,
通常用來快速匹配不同
(3)隱私保護(hù)
例:
賬戶名:zhanghu
密碼:123456
網(wǎng)站中存儲(chǔ)的密碼:123456
數(shù)據(jù)庫被盜后梦湘,對(duì)方可以直接登錄本網(wǎng)站甚至其他網(wǎng)站了
-----------------------------------------------------------
增強(qiáng)版:
網(wǎng)站存儲(chǔ):SHA1(123456) == qwertasd
之后的驗(yàn)證就是直接將用戶密碼做一次SHA運(yùn)算,再來與數(shù)據(jù)庫比對(duì)
這時(shí)數(shù)據(jù)庫被盜件甥,對(duì)方拿到的是SHA1密碼捌议,無法登錄本網(wǎng)站和其他網(wǎng)站
但是,通過彩虹表可以推測密碼
SHA1(123456) == QWERTY
SHA1(654321) == ASDERF
SHA1(111111) == WERQSS
拿到SHA1密碼后會(huì)從右邊推引有,如果有相同的瓣颅,則會(huì)被破解。
-------------------------------------------------------------
預(yù)防上面的方法是“加鹽”
例如:
鹽:123
原密碼 123456
網(wǎng)站加鹽并SHA1 SHA1(123456123) == WEURHAS
這樣即使被拖庫譬正,也無法通過彩虹表來推出來

Hash是編碼嗎宫补?

不是的,不可逆曾我。和有損壓縮不一樣粉怕。

Hash是加密碼?據(jù)說MD5是 不可逆加密抒巢?

不是的贫贝,沒有不可逆加密的說法

字符集

含義:一個(gè)由整數(shù)向現(xiàn)實(shí)世界中的文字符號(hào)的Map
分支:
ASCII:128個(gè)字符,1字節(jié)
ISO-8859-1:對(duì)ASCII進(jìn)行擴(kuò)充蛉谜,1字節(jié)
Unicode:13萬個(gè)字符稚晚,多字節(jié)(有兩種意思,通用意思是字符集型诚,是下面兩個(gè)的父集蜈彼;
    另一種則是代表一種編碼)
    UTF-8:Unicode的編碼分支
    UTF-16:Unicode的編碼分支
    簡單來說就是補(bǔ)位的方式不同
GBK/GB2312.GB18030:中國自研標(biāo)準(zhǔn),多字節(jié)俺驶,字符集+編碼(已經(jīng)隱退)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市棍辕,隨后出現(xiàn)的幾起案子暮现,更是在濱河造成了極大的恐慌,老刑警劉巖楚昭,帶你破解...
    沈念sama閱讀 223,002評(píng)論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件栖袋,死亡現(xiàn)場離奇詭異,居然都是意外死亡抚太,警方通過查閱死者的電腦和手機(jī)塘幅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門昔案,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人电媳,你說我怎么就攤上這事踏揣。” “怎么了匾乓?”我有些...
    開封第一講書人閱讀 169,787評(píng)論 0 365
  • 文/不壞的土叔 我叫張陵捞稿,是天一觀的道長。 經(jīng)常有香客問我拼缝,道長娱局,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,237評(píng)論 1 300
  • 正文 為了忘掉前任咧七,我火速辦了婚禮衰齐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘继阻。我一直安慰自己耻涛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評(píng)論 6 398
  • 文/花漫 我一把揭開白布穴翩。 她就那樣靜靜地躺著犬第,像睡著了一般。 火紅的嫁衣襯著肌膚如雪芒帕。 梳的紋絲不亂的頭發(fā)上歉嗓,一...
    開封第一講書人閱讀 52,821評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音背蟆,去河邊找鬼鉴分。 笑死,一個(gè)胖子當(dāng)著我的面吹牛带膀,可吹牛的內(nèi)容都是我干的志珍。 我是一名探鬼主播,決...
    沈念sama閱讀 41,236評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼垛叨,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼伦糯!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起嗽元,我...
    開封第一講書人閱讀 40,196評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤敛纲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后剂癌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淤翔,經(jīng)...
    沈念sama閱讀 46,716評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評(píng)論 3 343
  • 正文 我和宋清朗相戀三年佩谷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旁壮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片监嗜。...
    茶點(diǎn)故事閱讀 40,928評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖抡谐,靈堂內(nèi)的尸體忽然破棺而出裁奇,到底是詐尸還是另有隱情,我是刑警寧澤童叠,帶...
    沈念sama閱讀 36,583評(píng)論 5 351
  • 正文 年R本政府宣布框喳,位于F島的核電站,受9級(jí)特大地震影響厦坛,放射性物質(zhì)發(fā)生泄漏五垮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評(píng)論 3 336
  • 文/蒙蒙 一杜秸、第九天 我趴在偏房一處隱蔽的房頂上張望放仗。 院中可真熱鬧,春花似錦撬碟、人聲如沸诞挨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惶傻。三九已至,卻和暖如春其障,著一層夾襖步出監(jiān)牢的瞬間银室,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評(píng)論 1 274
  • 我被黑心中介騙來泰國打工励翼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜈敢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,378評(píng)論 3 379
  • 正文 我出身青樓汽抚,卻偏偏與公主長得像抓狭,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子造烁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評(píng)論 2 361