des 암호화는 대칭 암호화로 인터넷에서 널리 사용되는 암호화 방법입니다. PHP는 mcrypt 확장 라이브러리를 통해 des 암호화를 지원합니다. Php에서 des 암호화를 사용하려면 먼저 mcrypt 확장 라이브러리를 설치해야 합니다
다음은 암호화입니다. 및 복호화 예시
다음과 같이 코드를 복사하세요.
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "매우 비밀스러운 키입니다.";/ /Key
$text = "기념비 뒤에서 11시에 만나요.";//암호화가 필요한 내용
echo ($text) . "n"
$crypttext =base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $ key, $text , MCRYPT_MODE_ECB, $iv));
echo $crypttext . "n";//암호화된 콘텐츠
echo mcrypt_decrypt(MCRYPT_RIJNDAEL_256,$key,base64_decode($crypttext),MCRYPT_MODE_ECB,$iv);//해독된 콘텐츠
MCRYPT_RIJNDAEL_128, MCRYPT_RIJNDAEL_192, MCRYPT_RIJNDAEL_256은 일반적으로 AES 암호화 알고리즘에 사용됩니다. 다음 128, 192, 256은 비밀 키(즉, 암호화된 키)의 비트 수를 나타냅니다. 그러면 이 알고리즘을 사용하여 암호화할 때 비밀 키의 길이는 128비트입니다. 예를 들어 $key = 'fjjda0&9^$$#+*%$fada'는 20자만 사용됩니다. 실제 암호화(16*8=128)는 128비트 미만의 PHP에서 사용됩니다.
javax.crypto.Cipher 가져오기;
javax.crypto.spec.SecretKeySpec 가져오기;
import org.apache.commons.codec.binary.Base64;
public class Security {
public static String encrypt(문자열 입력, 문자열 키){
byte[] crypted = null;
시도해 보세요{
SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES");
암호 암호 = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, skey);
crypted = cipher.doFinal(input.getBytes());
}catch(예외 e){
System.out.println(e.toString());
}
return new String(Base64.encodeBase64(crypted));
}
public static String decrypt(문자열 입력, 문자열 키){
byte[] 출력 = null;
시도해 보세요{
SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES");
암호 암호 = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, skey);
출력 = cipher.doFinal(Base64.decodeBase64(input));
}catch(예외 e){
System.out.println(e.toString());
}
새 문자열(출력) 반환;
}
public static void main(String[] args) {
String key = "1234567891234567";
문자열 데이터 = "예";
System.out.println(Security.encrypt(data, key));
System.out.println(Security.decrypt(Security.encrypt(data, key), key));
}
}
위 내용은 PHP 및 Java des의 암호화 및 복호화 예제 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!