Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
AES Şifreleme Hakkında
#18
Aşağıdaki uygulama için https://fundementals.sourceforge.net/dl.html adresindeki Cipher sınıflarından yararlandım. AES için sadece cCipherAES.pas dosyasını kullanmak yetiyor ve son derece basit bir yapısı var. Fakat sadece 16 bayt lık veri için örnek hazırlamışlar ve 128bit. AesEncrypter adında yeni bir sınıf hazırlayarak 128/256 bit özelliği ekledim. Base64 ve Hex çıktıları verebiliyor. Standart olarak ECB yani elektronik kod kitaplığı kullanıyor. AES için 256 bit şifreleme yapacaksanız 32, 128 bit şifreleme yapacaksanız 16 baytlık özel anahtar belirtmeniz gerekiyor. Doğruluk testi için şifrelenmiş metni mümkün mertebe Copy to Clipboard butonu ile kopyalayın. Memo kontrolünün Wrap özelliğini kapatıp, Horizontal özelliğini açsamda metni bölümleme yapmaya devam etti. Bu durumda direk CRLF karakterleri ekleniyor.

Doğrulama için https://anycript.com/ adresini kullandım.

a3mrWJZ.png


JSON ifadesinin AES 256 Bit ile şifreleme örneği.
procedure TForm1.Button3Click(Sender: TObject);
var
 AESEncrypter: TAESEncrypter;
 SecretKey: Utf8String;
 EncText: Utf8String;
 JObject: TJSONObject;
 EncryptedText: String;
begin
 JObject := TJSONObject.Create
   .AddPair('username', TJSONString.Create('delphi.developer'))
   .AddPair('hash', TJSONString.Create('ed8e44a5eea79ac15208241091261124d67a81239689a243e0f88565c8c0f5cd'));
 EncText := JObject.ToJSON;
 JObject.Free;

 SecretKey := 'AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBB';
 AESEncrypter := TAESEncrypter.Create(bt256, SecretKey, EncText);
 try
   EncryptedText := AESEncrypter.GetBase64String;
 finally
   AESEncrypter.Free;
 end;
end;


AES şifrelemede 128bit yahut 256bit anahtar kullansanız dahi, veri 16 baytlık yani 128 bitlik bloklar halinde şifreleniyor.
Buradan hareketle sizin şifreleme metniniz 16 bayt dan fazla ise Padding yani byte dolguları eklemeniz gerekiyor. Ve bunların belli bir dizilimi var.
AesEncrypter sınıfını yazarken bunları ayarlamak durumunda kaldım. Bu işlemlerin nasıl yapıldığını https://www.youtube.com/watch?v=3OTMLUEPZUc animasyonlu olarak ilgili youtube videosu ile keşfedebildim. İlgilenenler için son derece yararlı olabilir.

AesEncryper uygulama ve sınıflarına ait tüm kodlar makale ekinde mevcuttur.


Ek Dosyalar
.zip   AES.zip (Dosya Boyutu: 124,3 KB / İndirme Sayısı: 23)
Cevapla


Bu Konudaki Yorumlar
AES Şifreleme Hakkında - Yazar: tmrksmt - 09-02-2024, Saat: 18:17
AES Şifreleme Hakkında - Yazar: 3ddark - 09-02-2024, Saat: 19:43
Cvp: AES Şifreleme Hakkında - Yazar: hi_selamlar - 09-02-2024, Saat: 20:44
AES Şifreleme Hakkında - Yazar: tmrksmt - 10-02-2024, Saat: 11:39
AES Şifreleme Hakkında - Yazar: anemos - 10-02-2024, Saat: 11:58
Cvp: AES Şifreleme Hakkında - Yazar: tmrksmt - 10-02-2024, Saat: 12:02
Cvp: AES Şifreleme Hakkında - Yazar: anemos - 10-02-2024, Saat: 13:04
Cvp: AES Şifreleme Hakkında - Yazar: tmrksmt - 10-02-2024, Saat: 13:29
Cvp: AES Şifreleme Hakkında - Yazar: csunguray - 10-02-2024, Saat: 20:46
AES Şifreleme Hakkında - Yazar: mkysoft - 13-02-2024, Saat: 12:44
AES Şifreleme Hakkında - Yazar: tmrksmt - 13-02-2024, Saat: 12:48
AES Şifreleme Hakkında - Yazar: esistem - 13-02-2024, Saat: 13:50
AES Şifreleme Hakkında - Yazar: engerex - 13-02-2024, Saat: 14:08
Cvp: AES Şifreleme Hakkında - Yazar: esistem - 13-02-2024, Saat: 16:24
Cvp: AES Şifreleme Hakkında - Yazar: RAD Coder - 13-02-2024, Saat: 16:01
AES Şifreleme Hakkında - Yazar: anemos - 13-02-2024, Saat: 16:08
AES Şifreleme Hakkında - Yazar: engerex - 13-02-2024, Saat: 17:39
Cvp: AES Şifreleme Hakkında - Yazar: delphi.developer - 14-02-2024, Saat: 01:42
Cvp: AES Şifreleme Hakkında - Yazar: codder71 - 04-09-2025, Saat: 18:53
AES Şifreleme Hakkında - Yazar: tmrksmt - 14-02-2024, Saat: 10:42
AES Şifreleme Hakkında - Yazar: Diyojen - 05-09-2025, Saat: 10:05
Cvp: AES Şifreleme Hakkında - Yazar: codder71 - 05-09-2025, Saat: 15:34
Cvp: AES Şifreleme Hakkında - Yazar: RAD Coder - 05-09-2025, Saat: 16:58
AES Şifreleme Hakkında - Yazar: Diyojen - 05-09-2025, Saat: 17:22
Cvp: AES Şifreleme Hakkında - Yazar: codder71 - 05-09-2025, Saat: 18:42
Cvp: AES Şifreleme Hakkında - Yazar: delphi.developer - 06-09-2025, Saat: 22:12

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SQL Table Type parametre gecisi hakkında (Çözüldü) adelphiforumz 1 154 09-04-2026, Saat: 15:53
Son Yorum: adelphiforumz
  Video Oynatma Hakkında adelphiforumz 7 844 17-12-2025, Saat: 07:36
Son Yorum: mrmarman
  nduWlanAPI Kullanımı hakkında nurah 3 807 09-09-2025, Saat: 09:33
Son Yorum: RAD Coder
  SuperObject dosyaları hakkında adelphiforumz 2 626 18-06-2025, Saat: 11:02
Son Yorum: engerex
  Edge Browser Hakkında Yardım. glagher 6 3.298 14-06-2025, Saat: 23:40
Son Yorum: maxpaynen



Konuyu Okuyanlar: 1 Ziyaretçi