第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Go 中打字稿解密中的 AES 加密

Go 中打字稿解密中的 AES 加密

Go
慕神8447489 2023-07-31 17:16:04
我正在嘗試加密 TypeScript 中的數(shù)據(jù),并將加密輸出傳遞給 Go 中的解密函數(shù),但 Go 中的輸出與 TypeScript 中的輸入不匹配,那么問(wèn)題是什么?這是我的打字稿代碼:import * as CryptoJS from 'crypto-js';var key = CryptoJS.enc.Utf8.parse('7061737323313233');var iv = CryptoJS.enc.Utf8.parse('7061737323313233');var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse("Im new in aes encryption"), key,    {        keySize: 128 / 8,        iv: iv,        mode: CryptoJS.mode.CBC,        padding: CryptoJS.pad.Pkcs7    });var decrypted = CryptoJS.AES.decrypt(encrypted, key, {    keySize: 128 / 8,    iv: iv,    mode: CryptoJS.mode.CBC,    padding: CryptoJS.pad.Pkcs7});console.log('Encrypted :' + encrypted);console.log('Key :' + encrypted.key);console.log('Salt :' + encrypted.salt);console.log('iv :' + encrypted.iv);console.log('Decrypted : ' + decrypted);console.log('utf8 = ' + decrypted.toString(CryptoJS.enc.Utf8));這是我的 Go 代碼:func main() {    d2, _ := Decrypt("VMlk9qzp2BKZi5wZjlzst2iwEre0uD/VHVc6xm2bhXY=", "37303631373337333233333133323333")    fmt.Println(d2)}// Decrypt decrypts cipher text string into plain text stringfunc Decrypt(encrypted string, CIPHER_KEY string) (string, error) {    key := []byte(CIPHER_KEY)    cipherText, _ := base64.StdEncoding.DecodeString(encrypted) ////hex.DecodeString(encrypted)    block, err := aes.NewCipher(key)    if err != nil {        panic(err)    }    if len(cipherText) < aes.BlockSize {        panic("cipherText too short")    }    iv := cipherText[:aes.BlockSize]    cipherText = cipherText[aes.BlockSize:]    if len(cipherText)%aes.BlockSize != 0 {        panic("cipherText is not a multiple of the block size")    }    mode := cipher.NewCBCDecrypter(block, iv)    mode.CryptBlocks(cipherText, cipherText)    cipherText, _ = pkcs7.Pad(cipherText, aes.BlockSize)    return fmt.Sprintf("%s", cipherText), nil}
查看完整描述

1 回答

?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊

  1. 請(qǐng)使用相同的密鑰“7061737323313233”。

  2. 使用相同的靜脈注射。

  3. 十二月全文。

func main() {


    d2, err := Decrypt("VMlk9qzp2BKZi5wZjlzst2iwEre0uD/VHVc6xm2bhXY=", "7061737323313233")

    if err != nil {

        log.Println(err)

        return

    }

    fmt.Println(d2)


}


// Decrypt decrypts cipher text string into plain text string

func Decrypt(encrypted string, CIPHER_KEY string) (string, error) {

    key := []byte(CIPHER_KEY)

    cipherText, _ := base64.StdEncoding.DecodeString(encrypted) ////hex.DecodeString(encrypted)


    block, err := aes.NewCipher(key)

    if err != nil {

        panic(err)

    }


    if len(cipherText) < aes.BlockSize {

        panic("cipherText too short")

    }

    // iv := cipherText[:aes.BlockSize]

    iv := []byte("7061737323313233")


    cipherText = cipherText[:]

    if len(cipherText)%aes.BlockSize != 0 {

        panic("cipherText is not a multiple of the block size")

    }


    // cipherText, _ = Pad(cipherText, aes.BlockSize)


    mode := cipher.NewCBCDecrypter(block, iv)

    mode.CryptBlocks(cipherText, cipherText)


    return fmt.Sprintf("%s", cipherText), nil

}


查看完整回答
反對(duì) 回復(fù) 2023-07-31
  • 1 回答
  • 0 關(guān)注
  • 199 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)