gf框架gaes使用

AES是分組密碼潦牛,即將明文分成一組一組的异希,每組長度相等健盒,每次加密一組數(shù)據(jù),直到整個加密完成
AES分組的長度只能是128位称簿,即分組為16個字節(jié)(每個字節(jié)8位)扣癣,簡單的說:明文P必須是長度為16的整數(shù)倍,字符串或數(shù)字憨降。
密鑰的長度可以使用128位父虑、192位或256位,簡單的說:密鑰K可以是長度為16,24,32的字符串或數(shù)字授药。分別對應的加密輪數(shù)為10,12,14频轿。
AES只是基本算法垂涯,實現(xiàn)AES有幾個模式:ECB、CBC航邢、CFB耕赘、OFB

package main

import (
    "fmt"
    "github.com/gogf/gf/crypto/gaes"
)

func main() {
    //aesEncrypt()
    //aesDecrypt()
    //aesEncryptCFB()
    //aesDecryptCFB()
    //aesPKCS5Padding()
    //aesPKCS5UnPadding()
    //aesZeroPadding()
    aesZeroUnPadding()
}

var key = []byte("1234567890123456")
var padding = 10

// 加密 cbc模式的別名
func aesEncrypt() {
    encrypt, err := gaes.Encrypt([]byte("要加密內(nèi)容"), key)
    if err != nil {
        panic(err)
    }

    fmt.Println(encrypt)
    fmt.Printf("%s\n", encrypt)
}

// 解密 cbc模式的別名
func aesDecrypt() {
    decrypt, err := gaes.Decrypt([]byte{19, 5, 111, 198, 120, 205, 98, 42, 75, 155, 234, 75, 166, 18, 246, 7}, key)
    if err != nil {
        panic(err)
    }
    fmt.Println(decrypt)
    fmt.Printf("%s\n", decrypt)
}


// cfb模式
// 密鑰必須為16/24/32位長度
func aesEncryptCFB() []byte {
    encryptCFB, err := gaes.EncryptCFB([]byte("要加密的內(nèi)容"), key, &padding)
    if err != nil {
        panic(err)
    }

    fmt.Println(encryptCFB)
    fmt.Printf("%s\n", encryptCFB)
    return encryptCFB
}


// cfb 解密
func aesDecryptCFB() {
    cipherText := aesEncryptCFB()
    cfb, err := gaes.DecryptCFB(cipherText, key, padding)
    if err != nil {
        panic(err)
    }

    fmt.Println(cfb)
    fmt.Printf("%s\n", cfb)
}


// PKCS5Padding
func aesPKCS5Padding() []byte {
    return gaes.PKCS5Padding([]byte("hello"), 64)
}

// PKCS5UnPadding
func aesPKCS5UnPadding() {
    b := aesPKCS5Padding()

    byte_data, err := gaes.PKCS5UnPadding(b, 64)
    if err != nil {
        panic(err)
    }

    fmt.Println(byte_data)
    fmt.Printf("%s\n", byte_data)
}

// ZeroPadding
func aesZeroPadding()([]byte, int) {
    b, n := gaes.ZeroPadding([]byte("hello"), 10)
    return b, n
}

// ZeroUnPadding
func aesZeroUnPadding() {
    b, n := aesZeroPadding()
    data := gaes.ZeroUnPadding(b, n)
    fmt.Println(data)
    fmt.Printf("%s\n", data)
}
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市膳殷,隨后出現(xiàn)的幾起案子操骡,更是在濱河造成了極大的恐慌,老刑警劉巖赚窃,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件册招,死亡現(xiàn)場離奇詭異,居然都是意外死亡勒极,警方通過查閱死者的電腦和手機是掰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辱匿,“玉大人键痛,你說我怎么就攤上這事∝移撸” “怎么了絮短?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長昨忆。 經(jīng)常有香客問我丁频,道長,這世上最難降的妖魔是什么邑贴? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任席里,我火速辦了婚禮,結果婚禮上拢驾,老公的妹妹穿的比我還像新娘奖磁。我一直安慰自己,他們只是感情好独旷,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著寥裂,像睡著了一般嵌洼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上封恰,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天麻养,我揣著相機與錄音,去河邊找鬼诺舔。 笑死鳖昌,一個胖子當著我的面吹牛备畦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播许昨,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼懂盐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了糕档?” 一聲冷哼從身側響起莉恼,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎速那,沒想到半個月后俐银,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡端仰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年捶惜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荔烧。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡吱七,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出茴晋,到底是詐尸還是另有隱情陪捷,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布诺擅,位于F島的核電站市袖,受9級特大地震影響,放射性物質發(fā)生泄漏烁涌。R本人自食惡果不足惜苍碟,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望撮执。 院中可真熱鬧微峰,春花似錦、人聲如沸抒钱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谋币。三九已至仗扬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蕾额,已是汗流浹背早芭。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留诅蝶,地道東北人退个。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓募壕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親语盈。 傳聞我的和親對象是個殘疾皇子舱馅,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 這篇文章主要講述在Mobile BI(移動商務智能)開發(fā)過程中,在網(wǎng)絡通信黎烈、數(shù)據(jù)存儲习柠、登錄驗證這幾個方面涉及的加密...
    雨_樹閱讀 2,421評論 0 6
  • 目錄一烈炭、對稱加密?1溶锭、對稱加密是什么?2、對稱加密的優(yōu)點?3符隙、對稱加密的問題?4趴捅、對稱加密的應用場景?5、對稱加密...
    意一ineyee閱讀 61,892評論 8 110
  • 重點:分組密碼的設計思想分組密碼的基本特點AES霹疫、DES密碼算法AES和DES各自組成拱绑、每部分的實現(xiàn)過程以及特點A...
    七八音閱讀 2,740評論 1 2
  • 加密的原因:保證數(shù)據(jù)安全 加密必備要素:1、明文/密文 2丽蝎、秘鑰 3猎拨、算法 秘鑰:在密碼學中是一個定長的字符串...
    Winnifred_閱讀 13,070評論 0 3
  • 七月的陽光閱讀 259評論 0 0