Nasıl String şifreleme
İhtiyacım olan şey 2 boyutlu barkod (PDF-417) görünecek yani birisi bir şey okunabilir olacak taramak için bir fikir olsun dize şifrelemek için.
Diğer gereksinimleri vardır - o kadar da karmaşık olmamalı, KRİPTOLOJİ infrstructure, anahtar çiftleri vb RSA oluşacaktı. Herkesten gizlice etrafında kurtulmak, ve diğer şirketler bu verileri elde interrested için şifresini çözmek için kolay almak için yeterince basit olmalıdır. Bize diyorlar, şifre çözme için kullanılabilir daha onları standart söyle ya da onları bazı basit anahtarını ver.
Muhtemelen bu şirketlerin bazı özel platform ya da Teknoloji bağlı olmayan bazı standart sopa iyi olurdu çok farklı teknolojiler kullanabilir.
Ne önerirsin? Orada bazı java sınıf şifreleme yapıyor() şifresini() yüksek güvenlik standartları yakalamada olmadan çok komplikasyon ?
CEVAP
Yaygın DES, 3DES AES gibi kullanılabilen bazı standart simetrik cypher kullanmanızı tavsiye ederim. En güvenli algoritma olmasa da, uygulamaları yükler vardır ve sadece barkod bilgileri şifresini çözmek için gereken kimseye anahtar vermek lazım. javax.crypto.Cipher burada çalışmak istediğiniz nedir.
Hadi şifrelemek için bayt olduğunu varsayalım
byte[] input;
Sonra anahtara ihtiyacın olacak ve initialization vector bayt
byte[] keyBytes;
byte[] ivBytes;
Şimdi seçtiğiniz algoritma için Şifreleme başlatılamıyor:
// wrap key data in Key/IV specs to pass to cipher
SecretKeySpec key = new SecretKeySpec(keyBytes, "DES");
IvParameterSpec ivSpec = new IvParameterSpec(ivBytes);
// create the cipher with the algorithm you choose
// see javadoc for Cipher class for more info, e.g.
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
Şifreleme şöyle:
cipher.init(Cipher.ENCRYPT_MODE, key, ivSpec);
byte[] encrypted= new byte[cipher.getOutputSize(input.length)];
int enc_len = cipher.update(input, 0, input.length, encrypted, 0);
enc_len = cipher.doFinal(encrypted, enc_len);
Ve bu gibi şifre çözme:
cipher.init(Cipher.DECRYPT_MODE, key, ivSpec);
byte[] decrypted = new byte[cipher.getOutputSize(enc_len)];
int dec_len = cipher.update(encrypted, 0, enc_len, decrypted, 0);
dec_len = cipher.doFinal(decrypted, dec_len);
Dönüştürmek için nasıl bir std::string...
Nasıl ASP.NET basit bir Sözlük&; strin...
Nasıl java kullanmak için.String.Scala...
Nasıl okunur bir metin Python string b...
Bash, nasıl eğer bir string değer ile ...