JSP Sting şifrele ...

2 Cevap php

Java / JSP bir işlev için şifreli ve bir uygulama PHP köknar kullanım şifresini bir sorgu dizesi alacağını php bir el sıkışma sayfa yapmak zorunda.

Ben bu iyi bir başlangıç ​​noktası http://propaso.com/blog/?cat=6 olarak bulduk ama, yapmam gereken ne ters PHP şifreler ve PHP çözer.

Herkes kullanmak için PHP / JSP ortak şifrelere biliyorum. Yukarıda linkten CBC Kod Aşağıda, bir cevap gibi görünüyor:

PHP Şifreleme / Modu:

$cipher     = "rijndael-128";
$mode       = "cbc";

ve JSP Şifreleme:

Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");

Herkes bana tersine bu süreci almak ve JSP şifrelemek ve çözmek PHP için iyi bir bağlantı biliyorum.

Teşekkürler

2 Cevap

Belirli bir ileti için öngörülebilir bir IV olması gerekir. Sabit kodlama IV öngörülebilir yapar. Yani şifreli IV geçmek için bir yol bulmak gerekir. IV olsa da, anahtar gizli tutulmalıdır zorunda değildir.

Bir blok şifreleme sabit bir boyutta düz metin bloğu üzerinde çalışır. Giriş için yeterli düz metin yoksa, bu alıcı verilerden dolguyu ayırt edebilir bir şekilde yastıklı edilmelidir. Bağlantılı örnek tamamen bu sayar, ve bu bir hatadır. Bir CipherOutputStream kullanılırsa, kısmi son blok sessizce şifreli kesilecek. Cipher nesne doğrudan kullanılırsa, kısmi bir blok doFinal yöntem bir istisna yükseltmek neden olur. Bunun yerine, PKCS5Padding gibi bir şey kullanın.

Uygun bir Java örnek bu gibi bir şey olacaktır:

SecretKey secret = new SecretKeySpec(key, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, secret);
AlgorithmParameters param = cipher.getParameters();
/* In addition to ciphertext in "cos", recipient needs IV. */
byte[] iv = param.getParameterSpec(IvParameterSpec.class).getIV();
CipherOutputStream cos = new CipherOutputStream(output, cipher);
byte[] buf = new byte[2048];
while (true) {
  int n = input.read(buf, 0, buf.length);
  if (n < 0)
    break;
  cos.write(buf, 0, n);
}
cos.flush();

Nerede JSP alan düz metin şifreli edilecek? Nasıl JSP (IV dahil) çıkışını biçimlendirmek istiyor musunuz?