C# AES şifreleme başlangıç vektörü

Inwinint

Decapat
Katılım
18 Temmuz 2023
Mesajlar
172
Çözümler
2
Daha fazla  
Cinsiyet
Erkek
C# kullanarak MSSQL ile localde bir veri tabanı oluşturuyorum, verileri şifreleyerek eklemek ve daha sonra şifrelediğim verileri orijinal haline çevirmek istiyorum, bunun için ChatGPT'ye sorduğumda bana AES şifrelemeyi önerdi, ama AES şifrelemede başlatma vektörü gerekiyormuş. Bu başlatma vektörünü bir yere kaydetmeliyim ki şifrelenmiş verilerimden orijinal haline dönebileyim, güvenli bir şekilde saklamak için bu başlangıç vektörünü nereye kaydetmeliyim?
 
ChatGPT'yi bir köşeye bırakın ve tuzlanmış hash değerlerini saklayın.

Hash basit iş, aratıp öğrenirsiniz.

Tuzlamanın mantığını aradığımda düzgün anlatan bir yer bulamamıştım, onu anlatayım.

Config dosyanızda bir tuz saklıyorsunuz. Bu tuz, atıyorum "technopaaaat" olsun, ama uzun ve random olması iyi olur.
Şifre girişi olunca veri tabanına kaydetmeden önce gelen verinin ucuna configdeki tuzu ekliyorsunuz, öyle hashlayıp kaydediyorsunuz.
Şifre sorgularken de aynı şekilde gelenin ucuna tuz atıp hash edip kayıtlı hash ile karşılaştırıyorsunuz.

Böylece veriler çalınsa bile veriyi görmek için veriyi bilmek gerekiyor. Ya da tuzu da çalmaları gerekiyor ki onun da güvenliğini siz sağlayacaksınız.

AES falan abartmış sizin GPT.
 
ChatGPT'yi bir köşeye bırakın ve tuzlanmış hash değerlerini saklayın.

Hash basit iş, aratıp öğrenirsiniz.

Tuzlamanın mantığını aradığımda düzgün anlatan bir yer bulamamıştım, onu anlatayım.

Config dosyanızda bir tuz saklıyorsunuz. Bu tuz, atıyorum "technopaaaat" olsun, ama uzun ve random olması iyi olur.
Şifre girişi olunca veri tabanına kaydetmeden önce gelen verinin ucuna configdeki tuzu ekliyorsunuz, öyle hashlayıp kaydediyorsunuz.
Şifre sorgularken de aynı şekilde gelenin ucuna tuz atıp hash edip kayıtlı hash ile karşılaştırıyorsunuz.

Böylece veriler çalınsa bile veriyi görmek için veriyi bilmek gerekiyor. Ya da tuzu da çalmaları gerekiyor ki onun da güvenliğini siz sağlayacaksınız.

AES falan abartmış sizin GPT.
Ben bunu bir araştırayım teşekkür ederim.

Eger sifre saklayacaksan simetrik sifrelemeye ihtiyacin yok, guvenlik riski olusturuyorsun durduk yere.
Peki nasıl yapabilirim sizce, direk şifrelemeden mi veritabanına ekleyeyim?
 
ChatGPT'yi bir köşeye bırakın ve tuzlanmış hash değerlerini saklayın.

Hash basit iş, aratıp öğrenirsiniz.

Tuzlamanın mantığını aradığımda düzgün anlatan bir yer bulamamıştım, onu anlatayım.

Config dosyanızda bir tuz saklıyorsunuz. Bu tuz, atıyorum "technopaaaat" olsun, ama uzun ve random olması iyi olur.
Şifre girişi olunca veri tabanına kaydetmeden önce gelen verinin ucuna configdeki tuzu ekliyorsunuz, öyle hashlayıp kaydediyorsunuz.
Şifre sorgularken de aynı şekilde gelenin ucuna tuz atıp hash edip kayıtlı hash ile karşılaştırıyorsunuz.

Böylece veriler çalınsa bile veriyi görmek için veriyi bilmek gerekiyor. Ya da tuzu da çalmaları gerekiyor ki onun da güvenliğini siz sağlayacaksınız.

AES falan abartmış sizin GPT.
Kullanıcı şifreleyerek ekleyip zamanı gelince geri çözecek. Hash geri döndürülemez. Bu durumda isteklere cevap vermiyor.

Peki nasıl yapabilirim sizce, direk şifrelemeden mi veritabanına ekleyeyim?
Aşırı önemli bilgiler saklamıyorsanız tamamını şifrelemenize gerek yok gibi. Ama eğer illa şifrelemem lazım derseniz hangi framework ile çalıştığınızı belirtirseniz daha rahat yardımcı olabiliriz.
 
Son düzenleme:
Kullanıcı şifreleyerek ekleyip zamanı gelince geri çözecek. Hash geri döndürülemez. Bu durumda isteklere cevap vermiyor.


Aşırı önemli bilgiler saklamıyorsanız tamamını şifrelemenize gerek yok gibi. Ama eğer illa şifrelemem lazım derseniz hangi framework ile çalıştığınızı belirtirseniz daha rahat yardımcı olabiliriz.
.Net Framework windows form
 
C# kullanarak MSSQL ile localde bir veri tabanı oluşturuyorum, verileri şifreleyerek eklemek ve daha sonra şifrelediğim verileri orijinal haline çevirmek istiyorum, bunun için ChatGPT'ye sorduğumda bana AES şifrelemeyi önerdi, ama AES şifrelemede başlatma vektörü gerekiyormuş. Bu başlatma vektörünü bir yere kaydetmeliyim ki şifrelenmiş verilerimden orijinal haline dönebileyim, güvenli bir şekilde saklamak için bu başlangıç vektörünü nereye kaydetmeliyim?
Performans bakımından sezar şifreleme kullanman daha doğru olacaktır. hem kullanımıda basit. Araştırarak çözebileceğin bir durum.
 

Technopat Haberler

Geri
Yukarı