成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么存儲(chǔ)密碼字符數(shù)組比字符串更合適?

存儲(chǔ) 存儲(chǔ)軟件
因?yàn)槿魏慰梢栽L問(wèn)內(nèi)存的人能以明碼的方式把密碼dump出來(lái)。另外你還應(yīng)該始終以加密而不是普通的文本來(lái)表示密碼。因?yàn)樽址遣豢勺儯虼藳](méi)有任何方法可以改變其內(nèi)容,任何改變都將產(chǎn)生一個(gè)新的字符串,而如果使用char[],你就可以設(shè)置所有的元素為空或者為零。

 “為什么存儲(chǔ)密碼用字符數(shù)組比字符串更合適”這個(gè)問(wèn)題是我的一個(gè)朋友在最近一次面試中提到的。那哥們應(yīng)聘的是一個(gè)技術(shù)lead職位,有超過(guò)六年的工作經(jīng)驗(yàn)。字符數(shù)組和字符串都可以用于存儲(chǔ)文本數(shù)據(jù),但是在選擇具體哪一種時(shí),如果你沒(méi)有針對(duì)具體的情況是很難回答這個(gè)問(wèn)題的。但是正如這哥們說(shuō)的任何與字符串相關(guān)的問(wèn)題一定可以從字符串的屬性里面的線索中找到,比如不可變性。他就用這種方式去說(shuō)服面試官的。這里我們就來(lái)探討一些關(guān)于為什么你應(yīng)該使用char[] 來(lái)存儲(chǔ)密碼而不是字符串。

[[227740]]

1. 因?yàn)樽址遣豢勺儗?duì)象,如果作為普通文本存儲(chǔ)密碼,那么它會(huì)一直存在內(nèi)存中直至被垃圾收集器回收。因?yàn)樽址畯淖址刂腥〕龅模ㄈ绻刂杏性撟址椭苯訌某刂蝎@取,否則new 一個(gè)出來(lái),然后把它放入池中),這樣有很大的機(jī)會(huì)長(zhǎng)期保留在內(nèi)存中,這樣會(huì)引發(fā)安全問(wèn)題。

因?yàn)槿魏慰梢栽L問(wèn)內(nèi)存的人能以明碼的方式把密碼dump出來(lái)。另外你還應(yīng)該始終以加密而不是普通的文本來(lái)表示密碼。因?yàn)樽址遣豢勺儯虼藳](méi)有任何方法可以改變其內(nèi)容,任何改變都將產(chǎn)生一個(gè)新的字符串,而如果使用char[],你就可以設(shè)置所有的元素為空或者為零(這里作者的意思是說(shuō),讓認(rèn)證完后該數(shù)組不再使用了,就可以用零或者null覆蓋原來(lái)的密碼,防止別人從內(nèi)存中dump出來(lái))。所以存儲(chǔ)密碼用字符數(shù)組可以明顯的減輕密碼被盜的危險(xiǎn)。

2. Java官方本身也推薦字符數(shù)組,JpasswordField的方法getPassword()就是返回一個(gè)字符數(shù)組,而由于安全原因getText()方法是被廢棄掉的,因?yàn)樗祷匾粋€(gè)純文本字符串。跟隨Java 團(tuán)隊(duì)的步伐吧,沒(méi)有錯(cuò)。

3. 字符串以普通文本打印在在log文件或控制臺(tái)中也易引起危險(xiǎn),但是如果使用數(shù)組你不能打印數(shù)組的內(nèi)容,而是它的內(nèi)存地址。盡管這不是它的真正原因,但仍值得注意。

String strPassword="Unknown";

char[] charPassword= new char[]{'U','n','k','w','o','n'};

System.out.println("String password: " + strPassword);

System.out.println("Character password: " + charPassword);

 

String password: Unknown

Character password: [C@110b053

以上所有就是為什么字符數(shù)組比字符串保存密碼要好的原因,盡管使用char[]還不足以安全。我同樣建議你用hash或者密碼加密代替普通文本,而且一旦認(rèn)證完成盡可能快的把他清除掉。

責(zé)任編輯:武曉燕 來(lái)源: ImportNew
相關(guān)推薦

2022-11-09 10:26:27

存儲(chǔ)引擎MySQL數(shù)據(jù)庫(kù)

2023-01-03 08:07:33

Go字符串指針

2015-03-19 15:04:06

2009-11-25 09:13:41

PHP數(shù)組轉(zhuǎn)字符串PHP字符串轉(zhuǎn)數(shù)組

2020-05-13 12:17:33

RedisC字符C語(yǔ)言

2023-02-15 08:10:06

2025-02-27 08:18:40

2022-11-10 15:32:29

2010-11-26 13:27:41

MySQL存儲(chǔ)過(guò)程

2009-06-12 08:57:56

Unix字符串處理

2016-12-27 09:46:55

Java 8StringBuild

2023-03-21 15:27:00

RedisC語(yǔ)言字符串

2023-05-29 08:03:41

代碼Go語(yǔ)言

2010-09-02 09:58:24

SQL刪除

2017-01-19 11:26:55

Java 8StringBuild

2024-05-30 12:17:25

2020-12-07 06:38:32

JavaScriptEval 函數(shù)

2020-08-11 14:29:31

Python字符串判斷

2009-06-23 14:13:00

Java字符串

2009-10-16 13:04:57

VB.NET字符串?dāng)?shù)組
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲97| 日韩欧美中文字幕在线观看 | 国产一区二区三区四区在线观看 | 嫩草一区二区三区 | 中文字幕一区二区三区精彩视频 | 国产成在线观看免费视频 | 91精品国产777在线观看 | 亚洲激情一区二区 | 日本电影韩国电影免费观看 | 久久日韩精品一区二区三区 | 欧美一区二区三区视频在线播放 | 午夜免费在线观看 | 综合网伊人 | 中文字幕在线免费 | 精品国产一级 | 成人精品 | 免费av在线网站 | 欧美日韩综合一区 | 日韩精品一区二区三区中文字幕 | 在线播放中文字幕 | 美女福利视频一区 | 91视频免费黄 | 日韩欧美国产一区二区三区 | 中文字幕在线不卡 | 精品一区二区三区在线观看 | 99久久婷婷国产精品综合 | 户外露出一区二区三区 | 中文字幕高清在线 | 日韩一区二区在线视频 | 视频一区二区在线 | 欧美精品久久 | 伊人久久大香线 | 日韩国产在线 | 久久这里只有精品首页 | 超碰婷婷 | 亚洲精品片 | 伊人春色成人网 | 免费99精品国产自在在线 | 欧洲一区二区三区 | 黄网站免费观看 | 久久er精品 |