2013-05-21 13 views
17

İzin şifreli.Base64 Java kullanıcı kimliği alanını encryping için Base64 şifreleme kullanıyorum Karakterler

String abc = new String(Base64.encodeBase64("Actualuseridfield")); 

Ben, dize abc yukarıdaki karakter "içerecektir olmadığını bilmek istiyorum: ya

Base64 şifreli dize abc iade edildiğinde, şimdiye kadar karakterin altında içerecektir

?
" <double quote> 
, <comma> 
: <colon> 

herhangi biri? ışık döken

+8

Base64 DEĞİL *** şifreleme *** olduğunu. Sadece yazdırılabilir karakterler kullanılarak gösterilebilmesi için ikili verileri kodlama yöntemidir. Bu üçlü geri dönüşümlüdür. Verilerin güvende olmasını bekliyorsanız hayal kırıklığına uğrayacaksınız. –

+1

Ben belki dava için, bu kütüphane başka varyasyonu kullanmaz sen (genel olarak) kodlanmış bir base64 herhangi virgül bulamazsınız söyleyemem, ama onun içinde virgül içermektedirler base64 değişimini bulabilirsiniz https://en.wikipedia.org/wiki/Base64#Variants_summary_table göre "IMAP posta kutusu isim (RFC 3501) Base64 kodlama Değiştirilmiş" – arhak

cevap

16

bir Base64 kodlanmış dizede herhangi virgül, iki nokta üst üste, veya çift tırnak görmez. Sen e göreceksiniz son içeriği doldurmak için kullanıldıkları için işaretleri işaretler.

11

, sen hariç özel karakterleri görmezsiniz:

[AZ] [az] [0-9] [+ /] ve dolgu karakter '= 'ucunda sıfır dolgu bayt sayısını göstermek için

Yine özellikleri başka bir karakter dahil sağlar. Genellikle Base64 kodlu veriler, her 76 karakterden oluşan bir '\ n' satır beslemesi içerir. Yukarıda belirtilenler dışındaki herhangi bir karakter kod çözme sırasında çıkarılmalıdır. Dolgu karakterleri n * 4 çıktı karakterlerine uygulanacak ekli bayt sayısını belirtir.