Discussione:
criptare in AES256 con vettore di inizializzazione e psw
(troppo vecchio per rispondere)
BFS
2024-09-20 09:35:24 UTC
Permalink
criptare in AES256 con vettore di inizializzazione e psw

qualcuno ha sviluppato qualcosa in merito?

questo sarebbe il codice in c#

private string encrypt(string text)
{
byte[] plaintextbytes =
System.Text.ASCIIEncoding.ASCII.GetBytes(text);
AesCryptoServiceProvider aes = new AesCryptoServiceProvider();
aes.BlockSize = 128;
aes.KeySize = 256;
aes.Key = System.Text.ASCIIEncoding.ASCII.GetBytes(key);
aes.IV = System.Text.ASCIIEncoding.ASCII.GetBytes(iv);
aes.Padding = PaddingMode.PKCS7;
aes.Mode = CipherMode.CBC;
ICryptoTransform crypto = aes.CreateEncryptor(aes.Key, aes.IV);
byte[] encrypted =
crypto.TransformFinalBlock(plaintextbytes, 0, plaintextbytes.Length);
crypto.Dispose();
return Convert.ToBase64String(encrypted);
}


BFS
RobertoA
2024-09-21 16:47:02 UTC
Permalink
Post by BFS
criptare in AES256 con vettore di inizializzazione e psw
qualcuno ha sviluppato qualcosa in merito?
questo sarebbe il codice in c#
private string encrypt(string text)
        {
            byte[] plaintextbytes =
System.Text.ASCIIEncoding.ASCII.GetBytes(text);
            AesCryptoServiceProvider aes = new AesCryptoServiceProvider();
            aes.BlockSize = 128;
            aes.KeySize = 256;
            aes.Key = System.Text.ASCIIEncoding.ASCII.GetBytes(key);
            aes.IV = System.Text.ASCIIEncoding.ASCII.GetBytes(iv);
            aes.Padding = PaddingMode.PKCS7;
            aes.Mode = CipherMode.CBC;
            ICryptoTransform crypto = aes.CreateEncryptor(aes.Key,
aes.IV);
            byte[] encrypted =
crypto.TransformFinalBlock(plaintextbytes, 0, plaintextbytes.Length);
            crypto.Dispose();
            return Convert.ToBase64String(encrypted);
        }
BFS
Hai gia' visto questo?
https://github.com/EszopiCoder/vba-crypto/blob/master/modCspAES256.bas
BFS
2024-09-23 05:43:56 UTC
Permalink
Post by RobertoA
Post by BFS
criptare in AES256 con vettore di inizializzazione e psw
qualcuno ha sviluppato qualcosa in merito?
questo sarebbe il codice in c#
private string encrypt(string text)
         {
             byte[] plaintextbytes =
System.Text.ASCIIEncoding.ASCII.GetBytes(text);
             AesCryptoServiceProvider aes = new
AesCryptoServiceProvider();
             aes.BlockSize = 128;
             aes.KeySize = 256;
             aes.Key = System.Text.ASCIIEncoding.ASCII.GetBytes(key);
             aes.IV = System.Text.ASCIIEncoding.ASCII.GetBytes(iv);
             aes.Padding = PaddingMode.PKCS7;
             aes.Mode = CipherMode.CBC;
             ICryptoTransform crypto = aes.CreateEncryptor(aes.Key,
aes.IV);
             byte[] encrypted =
crypto.TransformFinalBlock(plaintextbytes, 0, plaintextbytes.Length);
             crypto.Dispose();
             return Convert.ToBase64String(encrypted);
         }
BFS
Hai gia' visto questo?
https://github.com/EszopiCoder/vba-crypto/blob/master/modCspAES256.bas
si ma non mi da il risultato corretto e non capisco dove sia l'inghippo


il produttore del software mi dice

Chiave di crittografia =
UkFPi7g5ApTFvcwGd6yp3Th7VjViV3WB

Vettore di inizializzazione =
8fWnMRmK4ic7qHaM


PaddingMode.PKCS7;
Mode = CipherMode.CBC;



cripatando la stringa : "000000100"
dovrei ottenere : LDfzc09JmW4xNA/Ns85TxQ==
risultato che ottengo anche con tool online e quindi corretto


invece il codice del link mi restituisce

OGZXbk1SbUs0aWM3cUhhTXMzhnGc73MnY0Ea6DemKo8=

e non capisco dove sia il problema visto che i parametri sono gli stessi


Private Sub TestEncryptAES()

Dim strEncrypted As String, strDecrypted As String
Dim strKey As String, strIV As String

strKey = "UkFPi7g5ApTFvcwGd6yp3Th7VjViV3WB"
strIV = "8fWnMRmK4ic7qHaM" ' Always 16 characters (128 bits)

' Encrypt string and hash key with SHA256 algorithm
strEncrypted = EncryptStringAES("000000100", SHA256(strKey), strIV)
Debug.Print "Encrypted string: " & strEncrypted

' Decrypt string and hash key with SHA256 algorithm
Debug.Print "IV: " & GetDecryptStringIV(strEncrypted)
strDecrypted = DecryptStringAES(strEncrypted, SHA256(strKey))
Debug.Print "Decrypted string: " & strDecrypted

End Sub


BFS
BFS
2024-09-23 13:37:15 UTC
Permalink
Post by BFS
Post by RobertoA
Post by BFS
criptare in AES256 con vettore di inizializzazione e psw
qualcuno ha sviluppato qualcosa in merito?
questo sarebbe il codice in c#
private string encrypt(string text)
         {
             byte[] plaintextbytes =
System.Text.ASCIIEncoding.ASCII.GetBytes(text);
             AesCryptoServiceProvider aes = new
AesCryptoServiceProvider();
             aes.BlockSize = 128;
             aes.KeySize = 256;
             aes.Key = System.Text.ASCIIEncoding.ASCII.GetBytes(key);
             aes.IV = System.Text.ASCIIEncoding.ASCII.GetBytes(iv);
             aes.Padding = PaddingMode.PKCS7;
             aes.Mode = CipherMode.CBC;
             ICryptoTransform crypto = aes.CreateEncryptor(aes.Key,
aes.IV);
             byte[] encrypted =
crypto.TransformFinalBlock(plaintextbytes, 0, plaintextbytes.Length);
             crypto.Dispose();
             return Convert.ToBase64String(encrypted);
         }
BFS
Hai gia' visto questo?
https://github.com/EszopiCoder/vba-crypto/blob/master/modCspAES256.bas
si ma non mi da il risultato corretto e non capisco dove sia l'inghippo
il produttore del software mi dice
Chiave di crittografia =
UkFPi7g5ApTFvcwGd6yp3Th7VjViV3WB
Vettore di inizializzazione =
8fWnMRmK4ic7qHaM
PaddingMode.PKCS7;
Mode = CipherMode.CBC;
cripatando la stringa : "000000100"
dovrei ottenere : LDfzc09JmW4xNA/Ns85TxQ==
risultato che ottengo anche con tool online e quindi corretto
invece il codice del link mi restituisce
OGZXbk1SbUs0aWM3cUhhTXMzhnGc73MnY0Ea6DemKo8=
e non capisco dove sia il problema visto che i parametri sono gli stessi
Private Sub TestEncryptAES()
    Dim strEncrypted As String, strDecrypted As String
    Dim strKey As String, strIV As String
    strKey = "UkFPi7g5ApTFvcwGd6yp3Th7VjViV3WB"
    strIV = "8fWnMRmK4ic7qHaM" ' Always 16 characters (128 bits)
    ' Encrypt string and hash key with SHA256 algorithm
    strEncrypted = EncryptStringAES("000000100", SHA256(strKey), strIV)
    Debug.Print "Encrypted string: " & strEncrypted
    ' Decrypt string and hash key with SHA256 algorithm
    Debug.Print "IV: " & GetDecryptStringIV(strEncrypted)
    strDecrypted = DecryptStringAES(strEncrypted, SHA256(strKey))
    Debug.Print "Decrypted string: " & strDecrypted
End Sub
BFS
risolto
questo il codice corretto se a qualcuno servisse



Sub test()

Debug.Print encrypt("000000100")

End Sub

Function encrypt(plaintext)
Set AES = CreateObject("System.Security.Cryptography.RijndaelManaged")
Set utf8 = CreateObject("System.Text.UTF8Encoding")
AES.KeySize = 256
AES.BlockSize = 128
AES.Mode = 1 'CipherMode.CBC
AES.Padding = 2 'PaddingMode.PKCS7
AES.Key = utf8.GetBytes_4("UkFPi7g5ApTFvcwGd6yp3Th7VjViV3WB")
AES.IV = utf8.GetBytes_4("tuoVI") 'il tuo vettore di
inizializzazione lungo 16 caratteri
plainBytes = utf8.GetBytes_4(plaintext)
cipherBytes =
AES.CreateEncryptor().TransformFinalBlock((plainBytes), 0,
LenB(plainBytes)) ' LenB(plainBytes) --> UBound(plainBytes) + 1 Fix 2
encrypt = B64Encode(cipherBytes)
End Function


Function Min(a, b)
Min = a
If b < a Then Min = b
End Function

Function B64Encode(bytes)
Set b64Enc =
CreateObject("System.Security.Cryptography.ToBase64Transform")
Set utf8 = CreateObject("System.Text.UTF8Encoding")
BlockSize = b64Enc.InputBlockSize
For Offset = 0 To LenB(bytes) - 1 Step BlockSize
' LenB(bytes) - 1 --> UBound(bytes)
Length = Min(BlockSize, LenB(bytes) - Offset)
' LenB(bytes) --> UBound(bytes) + 1
Fix 1
b64Block = b64Enc.TransformFinalBlock((bytes), Offset, Length)
result = result & utf8.GetString((b64Block))
Next
B64Encode = result
End Function


BFS

Loading...