Açıkça görülmesi amaçlanmamıştır, bu nedenle onları aramak sorunlu olacaktır.
Geçmişte kullandığım bir hile, şifrelenmiş verileri şifrelemeden önce karmayı ve karmayı dizine alınmış bir sütunda depolamaktır. Tabii ki, bu sadece tüm değer üzerinde arama yapıyorsanız çalışır; kısmi değerler aynı karmaya sahip olmayacaktır.
Gerekirse, büyük olasılıkla "tam metin" karma indeksi oluşturarak bunu genişletebilirsiniz, ancak çok hızlı bir şekilde karmaşık hale gelebilir.
EK
Sohbette, sözlük saldırılarına karşı güvenlik açığıyla ilgili oldukça uzun bir tartışma başına cevabıma bir dipnot eklemem önerildi, bu nedenle bu potansiyel güvenlik riskini yukarıdaki yaklaşıma tartışacağım.
Sözlük Saldırısı: Sözlük saldırısı, bir kişinin bilinen değerlerin bir listesini önceden karması ve karmaları veritabanındaki karma sütununla karşılaştırmasıdır. Bir eşleşme bulabilirlerse, bilinen değerin aslında karma olan değer olması muhtemeldir (Yine de kesin değildir, çünkü karmaların benzersiz olduğu garanti edilmez). Bu genellikle, değerin eklenmiş veya eklenmiş rastgele bir "tuz" ile hash edilmesiyle hafifletilir, böylece karma sözlükle eşleşmez, ancak yukarıdaki cevap aranabilirliği kaybettiğiniz için bir tuz kullanamaz.
Bu saldırı, parolalar gibi şeylerle uğraşırken tehlikelidir: popüler parola karmalarının sözlüğünü oluşturursanız, tabloyu bu karma değeri için hızlı bir şekilde arayabilir ve böyle bir parolaya sahip bir kullanıcıyı tanımlayabilir ve kullanıcının kimliğini çalmak için kimlik bilgilerini etkili bir şekilde çıkarabilirsiniz. .
SSN'ler, kredi kartı numaraları, GUID'ler vb.Gibi yüksek derecede kardinalliğe sahip öğeler için daha az tehlikelidir (ancak bunları saklamakla ilişkili farklı riskler [read: legal] vardır, bu yüzden bunları saklama konusunda tavsiyede bulunmam ).
Bunun nedeni, bir sözlük saldırısının çalışması için, olası değerler ve bunların karmalarını önceden oluşturmuş olmanız gerekir. Teorik olarak, tüm olası SSN'lerin bir sözlüğünü oluşturabilirsiniz (bir milyar satır, tüm biçimlendirme permütasyonlarının kaldırıldığı varsayılarak; kredi kartları için onlarca trilyonlarca giriş) ... ancak bu genellikle bir sözlük saldırısının noktası değildir ve temelde her değeri sistematik olarak araştırdığınız kaba kuvvet saldırısıyla karşılaştırılabilir hale gelir.
Ayrıca bakmak olabilir belirli bir kişiye bir SSN maç için çalışıyorsanız, SSN veya kredi kartı numarası. Yine, genellikle bir sözlük saldırısının amacı değil, ancak yapılması mümkündür, bu yüzden bu kaçınmanız gereken bir riskse, cevabım sizin için iyi bir çözüm değildir.
İşte burada. Tüm şifrelenmiş verilerde olduğu gibi, genellikle bir nedenden dolayı şifrelenir, bu nedenle verilerinizin ve verilerinizi korumaya çalıştığınızın farkında olun.