第十九次總結 編碼與解碼 資料編碼

2022-08-22 00:30:14 字數 2839 閱讀 7674

md5是什麼?

base64編碼?

md5 是一種加密演算法

md5加密是非可逆的 摘要加密演算法

sha-1

sha-256

通常用在對密碼進行加密

messagedigest md = messagedigest.getinstance("md5|sha-1|sha-256");

md.update(string.getbytes("utf-8"));

byte bs = md.digest();

string msg = "qwe123";

//先得到訊息摘要的物件 [加密方式物件]

messagedigest md = messagedigest.getinstance("md5");

//將要加密的字串加入到訊息摘要中

md.update(msg.getbytes("utf-8"));

//進行摘要加密,得到的是乙個位元組陣列

byte bs =md.digest();

//將位元組陣列轉換成大整數

//biginteger是乙個任意精度的整數

biginteger num = new biginteger(1,bs);

//將整數轉換成16進製制的字串

string str = num.tostring(16);

system.out.println(str);

messagedigest md2 = messagedigest.getinstance("sha-1");

md2.update(msg.getbytes("utf-8"));

byte bs2 =md2.digest();

biginteger num2 = new biginteger(1,bs2);

string str2 = num2.tostring(16);

system.out.println(str2);

messagedigest md3 = messagedigest.getinstance("sha-256");

md3.update(msg.getbytes("utf-8"));

byte bs3 = md3.digest();

輸出結果:

//將加密的資料轉化成16進製制的字串

signum 正負號函式

輸出結果:

編碼過程:

base64.encoder encoder = base64.getencoder();

byte bs = encoder.encode(msg.getbytes("utf-8"));

string str = new string(bs,"utf-8");

string msg = "中文";

//得到編碼物件

base64.encoder encoder =base64.getencoder();

//開始編碼

byte bs = encoder.encode(msg.getbytes("utf-8"));

//string str = encoder.encodetostring(msg.getbytes("utf-8"));

//得到編碼之後的字串

string str = new string(bs,"utf-8");

system.out.println(str);

輸出結果:

解碼過程:

base64.decoder decoder = base64.getdecoder();

byte bs2 = decoder.decode(str);

string msg2 = new string(bs2,"utf-8");

//

解碼

//得到解碼器物件

base64.decoder decoder =base64.getdecoder();

//解碼,得到解碼之後的位元組陣列

byte bs2 =decoder.decode(str);

string msg2 = new string(bs2,"utf-8");

system.out.println(msg2);

//使用base64對url中的中文進行處理

string name="張三";

base64.encoder urlencoder =base64.geturlencoder();

string str3 = urlencoder.encodetostring(name.getbytes("utf-8"));

string url = ""+str3+"&age=20";

system.out.println(url);

輸出結果:

使用場景

瀏覽器的url位址列對於中文的支援不友好

如果需要通過瀏覽器的位址列傳輸中文資料,通常先將資料進行base64的編碼

再傳遞給伺服器

伺服器拿到資料之後,需要先解碼,才能夠使用

acm第十九次樹

一 樹及二叉樹1 樹的概念 樹的定義 一棵樹是由n n 0 個元素組成的有限集合,其中 每個元素稱為結點 node 有乙個特定的結點,稱為根結點或樹根 root 除根結點外,其餘結點能分成m m 0 個互不相交的有限集合t0,t1,t2,tm 1。其中的每個子集又都是一棵樹,這些集合稱為這棵樹的子樹...

第十九周學習生活總結

努力不一定成功,但一定會有收穫。學習方面其實就是這一周經歷了大學的第一次期末考試,內心很激動吖,有點虛的就是英語,因為英語除了背的東西課外的東西考的挺多的,閱讀都不怎麼看得懂,而且我一向閱讀理解能力很差勁,所以怕不得分,一向覺得聽力只不過是上課的時候老師放的快而已,後來才發現,老師放的哪能叫快,那考...

2023年10月28日 第十九次總結

我一直用著360極速瀏覽器的原因,一方面是方便同步,另一方面是他的截圖太好用了,在切取的同時就可以複製到貼上欄,我在chrome商店裡翻了半天都沒有找到完美替代品,最後總算找到了乙個比較接近的擴充套件,fireshot,可以設定自動執行方式 可惜只能使用上一次的單次方案 同時還發現了乙個非常有趣的擴...