草庐IT

AES_cbc_encrypt

全部标签

encryption - JavaScript字符串加密解密?

我有兴趣构建一个供个人使用的小型应用程序,该应用程序将使用JavaScript在客户端加密和解密信息。加密信息将存储在服务器上的数据库中,但绝不会存储解密版本。它不一定是super安全的,但我想使用当前未被破坏的算法。理想情况下我可以做类似的事情vargibberish=encrypt(string,salt,key);生成编码后的字符串,以及类似的东西varsensical=decrypt(gibberish,key);稍后解码。到目前为止,我已经看到了这个:http://bitwiseshiftleft.github.io/sjcl/我应该看看其他任何库吗?

java - 在 Java 和 golang 中使用 AES 时获得不同的结果(密文)

我正在尝试将AES加密的Java代码复制到Golang中。但是我在golang中没有得到相同的输出我试过下面的代码:Java代码:packageEncryptionTest;importjava.security.Key;importjava.util.Base64;importjavax.crypto.Cipher;importjavax.crypto.spec.SecretKeySpec;publicclassEncryptionDecryptionAES{staticCiphercipher;publicstaticvoidmain(String[]args)throwsExce

encryption - 将 Python AES 加密路由移植到 Golang

我正在尝试将以下PythonAES文件加密例程移植到Go:defderive_key_and_iv(password,salt,key_length,iv_length):d=d_i=''whilelen(d)我编写了以下Go例程,但我不太能够让它工作。我正在尝试让加密例程在Go中工作,以便调用者在Python和C中调用解密,所以我真的只对弄清楚如何让我的Golang加密例程工作感兴趣,但为了清楚起见,我已经包含了所有Python位。我当前的Go例程如下所示:packagemainimport("crypto/aes""crypto/cipher""crypto/rand""encod

encryption - Golang 在不同的机器上生成相同的加密

我有一个使用crypto/aes加密和解密明文的go脚本。https://play.golang.org/p/le_-uuzWN4我希望这个脚本可以在不同的机器上使用并产生相同的加密文本。我认为通过自定义IV,无论在何处都能实现一致的加密。现在它在goplayground和https://repl.it/languages/go上产生不同的结果。是否有可能产生一致的加密,或者由于内部实现(如加密盐等),它总是不同的此外,IV到底是什么,我对此仍然感到困惑。该文档并没有真正解释它是什么 最佳答案 我弄清楚了为什么它每次都生成不同的密文

php - 从 PHP 到 Golang 的 aes-256-gcm 解密

我有一个在PHP中使用的加密函数functionEncrypt(?string$Content,string$Key):string{returnopenssl_encrypt($Content,'aes-256-gcm',$Key,OPENSSL_RAW_DATA,$IV=random_bytes(16),$Tag,'',16).$IV.$Tag;}搭配解密功能functionDecrypt(?string$Ciphertext,string$Key):?string{if(strlen($Ciphertext)我将通过加密函数加密的数据存储到我的数据库中,现在我试图在Go中解密这些

encryption - CryptoJS 加密 Go 解密

我有以下Go代码ciphertext:="Zff9c+F3gZu/lsARvPhpMau50KUkMAie4j8MYfb12HMWhkLqZreTk8RPbtRB7RDG3QFw7Y0FXJsCq/EBEAz//XoeSZmqZXoyq2Cx8ZV+/Rw="decodedText,_:=base64.StdEncoding.DecodeString(ciphertext)decodedIv,_:=base64.StdEncoding.DecodeString("u9CV7oR2w+IIk8R0hppxaw==")newCipher,_:=aes.NewCipher([]byte("~

java - 缺少前 16 个字符 - Java AES CBC 加密和 golang 解密

我使用以下代码在Java中加密和解密数据。加密和解密工作正常。importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax.crypto.spec.IvParameterSpec;importjavax.crypto.spec.SecretKeySpec;importjavax.xml.bind.DatatypeConverter;importjava.security.SecureRandom;publicclassMainNew{publicstaticvoidmain(String[]args)throwsE

encryption - go crypto/ecdsa 即使数据不同也要验证是否为真

我有一些map形式的数据,我将其转换为[]byt并对其进行签名,在验证时,即使用于验证和签名的数据不同,它也会提供True值。这是我所做的-funcmain(){n,_:=ioutil.ReadFile("privatekey")private_key,_:=x509.ParseECPrivateKey(n)public_key:=private_key.PublicKeydata:=map[string]string{"data1":"somestring","data2":"12312","data3":"34fs4",}json_data,_:=json.Marshal(data

JAVA AES ECB 加密到 Golang 迁移

我尝试将AES解密的Java实现移植到Golang。我需要使用Golang解密以前由JAVA代码加密的数据。但到目前为止,我还没有解密它。Java代码是:privatestaticbyte[]pad(finalStringpassword){Stringkey;for(key=password;key.length()我尝试了类似CryptographyGIST的实现或funcdecrypt(passphrase,data[]byte)[]byte{cipher,err:=aes.NewCipher([]byte(passphrase))iferr!=nil{panic(err)}de

if-statement - 使用 if-construction with cypher/aes 返回不一致的 Go 错误

我看到奇怪的行为,我应该从函数返回错误,但我得到的却是nil。以下代码块包含2个使用cypher/aes的加密函数。唯一的区别是每个函数的前1/2行。在encrypt2中,我将encrypt1第一行的赋值合并到条件中。packagemainimport("crypto/aes""crypto/cipher""crypto/rand""fmt""io")funcmain(){invalidKey:=[]byte("TCbKgXZsT")plaintext:=[]byte("dummycontenttoenctrypt")fmt.Println(encrypt1(plaintext,inv