Je travaille dans Delphi 2007. Net, où je peux trouver un exemple d'utilisation de l'algorithme de Rijndael.Aide en utilisant Rijndael Algorithm dans Delphi 2007. Net
Salut.
Je travaille dans Delphi 2007. Net, où je peux trouver un exemple d'utilisation de l'algorithme de Rijndael.Aide en utilisant Rijndael Algorithm dans Delphi 2007. Net
Salut.
Il ya quelque temps, j'ai écrit ce code, devrait fonctionner correctement.
uses
System.Security.Cryptography,
System.Text;
type
TDynamicArrayOfByte = array of Byte;
function Encrypt(StrtoEncrypt, PK: string): TDynamicArrayOfByte; // pk, must be of a string of 32 characters
var
miRijndael: Rijndael;
encrypted: TDynamicArrayOfByte;
toEncrypt: TDynamicArrayOfByte;
bytPK: TDynamicArrayOfByte;
i: integer;
begin
Result := nil;
miRijndael := System.Security.Cryptography.RijndaelManaged.Create;
try
toEncrypt := System.Text.Encoding.UTF8.GetBytes(StrtoEncrypt);
bytPK := System.Text.Encoding.UTF8.GetBytes(PK);
miRijndael.Key := bytPK;
miRijndael.GenerateIV;
encrypted := (miRijndael.CreateEncryptor()).TransformFinalBlock(toEncrypt, 0, Length(toEncrypt));
setlength(result, Length(miRijndael.IV) + Length(encrypted));
for i:=0 to Length(miRijndael.IV)-1 do
result[i] := miRijndael.IV[i];
for i:=0 to Length(encrypted)-1 do
result[i + Length(miRijndael.IV)] := encrypted[i];
finally
miRijndael.Clear();
end;
end;
function DesEncrypt(BufferEncrypted: TDynamicArrayOfByte; PK: string): string; // pk, must be of a string of 32 characters
var
miRijndael: Rijndael;
encrypted: TDynamicArrayOfByte;
tempArray: TDynamicArrayOfByte;
bytPK: TDynamicArrayOfByte;
i : integer;
begin
Result := '';
miRijndael := System.Security.Cryptography.RijndaelManaged.Create;
setlength(tempArray, Length(miRijndael.IV));
setlength(encrypted, Length(BufferEncrypted) - Length(miRijndael.IV));
try
bytPK := System.Text.Encoding.UTF8.GetBytes(PK);
miRijndael.Key := bytPK;
for i:=0 to Length(tempArray)-1 do
tempArray[i] := BufferEncrypted[i];
for i:=0 to Length(encrypted)-1 do
encrypted[i] := BufferEncrypted[i + Length(tempArray)];
miRijndael.IV := tempArray;
Result := System.Text.Encoding.UTF8.GetString((miRijndael.CreateDecryptor()).TransformFinalBlock(encrypted, 0, Length(encrypted)));
finally
miRijndael.Clear();
end;
end;
Au revoir.
Turbo Power LockBox, il fournit soutien Blowfish, RSA, MD5, SHA-1, DES, DES triple-, Rijndael et la signature numérique des messages.
Idéal pour Win32 (et apparemment Kylix), mais pas Delphi pour .Net. –
Il y a une source de delphi à http://rcolonel.tripod.com/. Vous pourriez être capable de l'utiliser dans Delphi.net. Cependant, il vaut mieux trouver un module .net et simplement l'utiliser. Vous devriez pouvoir utiliser un module C# ou vb.net dans delphi.net.
La page Cryptographie Delphi Les composants cryptographiques DCP contiennent une implémentation de l'algorithme Rijndael. Écrit par David Barton ([email protected]) http://www.scramdisk.clara.net/, composants DCP Crypto sont très complets, libres d'exporter, des composants cryptographiques à clé symétrique.
merci beaucoup, fonctionne parfaitement :). – Salvador
+1 rapide et utile! – Argalatyr
Est-ce que quelqu'un a donné une réponse négative à cette réponse? Cela semble étrange puisque c'est sur. –