2010-09-07 22 views
6

AES_128 kullanarak ColdFusion kullanarak verileri nasıl şifreleyeceğini biliyorum. MSSQL AES_128'i kullanarak verileri nasıl şifreleyeceğimi de biliyorum. AES_128 kullanarak ColdFusion'da verilerin şifrelenmesinin mümkün olup olmadığını bilen var mı, daha sonra MSSQL'deki dizginin şifresini çözebilir mi?SQL & ColdFusion Şifreleme

Onunla çok oynamışım ve bunu anlayamıyorum.

sayesinde Paul

+0

Her iki tarafta parola şifresini/şifresini mi kullanmaya çalıştınız? –

+0

Evet Bunu zaten denedim. Ben sql içinde parola ile AES gibi gelişmiş bir algoritma kullanabileceğinizi düşünmüyorum. – Paul

cevap

3

Evet bu mümkün. AES'in mülkiyetini sağlayan hiçbir şey yoktur. Bununla birlikte, bir blok şifresini uygulamanın birçok yolu vardır ve bunların çoğu yanlıştır. MS SQL'in encryptbykey() ECB modunu ve varsayılanlarını ANSI_PADDING olarak kullanır. ECB modunda bir AES ile aynı anahtarı kullanarak bir mesajın şifresini çözmeyi deneyebilirim ve muhtemelen sadece çalışacaktır. CBC modu kullanılmalıdır, ancak bu bir IV gerektirir ve encryptbykey(), bir ECB modu olarak bir parametre olarak bir IV kabul etmez. (MySQL ayrıca ecb modu, ben kod baktım. Onun utanç MS SQL ile yapamam).

+0

Zaten encryptbykey() yöntemini kullanıyorum. Ben SQL'de dize şifrelemek ve şifresini çözebilir, ancak sahip olduğum sorun, MSSQL kullanarak veri şifreleme ve şifresini çözmek için bir simetrik anahtar ve kullandığım sunucu tarafı dili (ColdFusion olan) olduğunu düşünüyorum. Ayrıca bir anahtar gerektirir, ancak bu anahtarı ColdFusion'da çoğalayamıyorum çünkü bildiğim kadarıyla Simetrik anahtarın içeriğini doğru olarak görüntüleyemezsiniz? Simetrik anahtarın gui_key kullanarak denedim ama bu işe yaramadı. – Paul

+0

@Paul aes simetrik bir şifredir. gui_key() bir string2key işlevidir ve simetri ile bir ilgisi yoktur, aslında bir mesaj özeti. Başka bir string2key işlevi kullanabilir veya rasgele bir anahtar üretebilir ve orada bir string2key işlevine ihtiyacınız olmaz. – rook