![]() |
AW: DEC6.0 Verständnisfrage AES Ver-/Entschlüsselung
Was wird der Unterschied zwischen DEC 6.1 und DEC 6.1 Lite sein?
Wirst du die Lite-Version auch auf GitHub einstellen? Ich kann mit getit nix anfangen und will das auch nicht. |
AW: DEC6.0 Verständnisfrage AES Ver-/Entschlüsselung
Naja, die Lite wird zwar als Release auch auf GitHub auftauchen, aber wenn du
die normale benutzt bist du besser bedient. In der Lite fehlen nämlich alle Verschlüsselungsalgorithmen und was damit sonst noch zusammenhängt (Demos, Unit Tests...), da EMBT lieber vorsichtig wegen amerikanischer Exportbeschränkungen agiert... Dadurch wird diese Bibliothek aber immerhin unter GetIt sichtbar... Und die IsPassword Methode hat noch eine vereinfachte Implementierung bekommen. Die wandert nacher aber auch gleich in den Development Branch. Grüße TurboMagic |
AW: DEC6.0 Verständnisfrage AES Ver-/Entschlüsselung
Was ist EMBT?
Heißt das also, DEC darf so nicht in den USA verwendet werden? Bei DEC Lite fehlen alle Verschlüsselungsalgorithmen. Sollte das dann überhaupt noch "DEC" heißen? |
AW: DEC6.0 Verständnisfrage AES Ver-/Entschlüsselung
1. EMBT = Embarcadero Technologies.
2. Die wollen einfsch keine Bibliotheken in GetIt die starke Verschlüsselung umsetzen, dam man sonst möglicherweise mit irgendwelchen US Exportregularien in Konflikt geraten könnte und man evtl. 'ne Menge Papierkram auszufüllen hat. 3. Das sollte uns aber nicht tangieren und du darfst deine mit der DEC geschriebene Software auch in die USA verbreiten. Andere tun's auch. Was anderes wäre es evtl. wenn du Kunden im Iran oder so hättest und denen solche Verschlüsselungstechnologie verfügbar machst. Da hätten die Amis was dagegen. Jetzt alles klar? Meiner Meinung nach reine Vorsichtsmaßnahme von EMBT. => wenn du GetIt nicht benutzt, interessiert dich die Lite nicht und wenn du die volle Version kennst und nutzt isntalliere halt, was dir GitHub zur Verfügung stellt. GetIt ist für diese Bibliothek einfach eine Möglichkeit weitere Nutzer "anzufüttern" ok? Grüße TurboMagic |
AW: DEC6.0 Verständnisfrage AES Ver-/Entschlüsselung
Grundsätzlich sind das sehr gute Neuigkeiten, dass das DEC - wenn auch abgespeckt - in GetIt integriert wird.
Aber Details in Fragen dazu wären ein separates Thema wert. |
AW: DEC6.0 Verständnisfrage AES Ver-/Entschlüsselung
Zitat:
Meine Delphi Klasse habe ich analog meiner C# Klasse aufgebaut. Im Endeffekt erkennt man alles irgendwie wieder.
Code:
using System.IO;
using System.Linq; using System.Security.Cryptography; using WAC.Business.Interfaces; namespace WAC.Business.Encryption { public class AES : IAES { private readonly IAesKeyReader aesKeyReader; public AES(IAesKeyReader aesKeyReader) { this.aesKeyReader = aesKeyReader; } public byte[] Encrypt(string plainText) { using (AesManaged aes = new AesManaged()) { return Encrypt(plainText, aes.IV); } } public string Decrypt(byte[] cipherText) { string plaintext = null; // Create AesManaged using (AesManaged aes = new AesManaged()) { // Create the streams used for decryption. using (MemoryStream ms = new MemoryStream(cipherText)) { byte[] iv = new byte[16]; ms.Read(iv, 0, 16); // Create a decryptor ICryptoTransform decryptor = aes.CreateDecryptor(aesKeyReader.GetAesKey(), iv); // Create crypto stream using (CryptoStream cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read)) { // Read crypto stream using (StreamReader reader = new StreamReader(cs)) plaintext = reader.ReadToEnd(); } } } return plaintext; } public byte[] Encrypt(string plainText, byte[] iv) { byte[] encrypted; // Create a new AesManaged. using (AesManaged aes = new AesManaged()) { // Create encryptor ICryptoTransform encryptor = aes.CreateEncryptor(aesKeyReader.GetAesKey(), iv); // Create MemoryStream using (MemoryStream ms = new MemoryStream()) { // Create crypto stream using the CryptoStream class. This class is the key to encryption // and encrypts and decrypts data from any given stream. In this case, we will pass a memory stream // to encrypt using (CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write)) { // Create StreamWriter and write data to a stream using (StreamWriter sw = new StreamWriter(cs)) sw.Write(plainText); encrypted = iv.Concat(ms.ToArray()).ToArray(); } } } // Return encrypted data return encrypted; } } } |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz