>  기사  >  백엔드 개발  >  PHP 인터페이스 데이터 암호화, 복호화 및 서명 확인_php 기술

PHP 인터페이스 데이터 암호화, 복호화 및 서명 확인_php 기술

WBOY
WBOY원래의
2016-05-16 20:21:271096검색

코드가 매우 간단하니 여기서는 장황한 설명은 생략하고 코드만 알려드리겠습니다

코드 복사 코드는 다음과 같습니다.

//header('Content-Type: text/xml; charset=utf-8');
include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'phpsec'.DIRECTORY_SEPARATOR.'Math'.DIRECTORY_SEPARATOR.'BigInteger.php');
include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'phpsec'.DIRECTORY_SEPARATOR.'Crypt'.DIRECTORY_SEPARATOR.'AES.php');
include_once(dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'phpsec'.DIRECTORY_SEPARATOR.'Crypt'.DIRECTORY_SEPARATOR.'RSA.php');
//비밀문자
$crypttext = 'v66YKULHFld2JElhm/J9qik2Edr1JHdZIc/k/OesU2GbTX2usXyvF4jGvzvoihrrE8FsfKmllmjsMIjO5fdrS/FD20bYFii4JW3BO3bzshXmz6AEs2DWwG4sK9mNojfOC0IsMoV311X5 /JlgU oQXkDy4F5HHpYE9d/xGb0g2XE/hnGSSy2cpQcvQtBlBmixwSckNhsEG92lovlOz8ULwkqG5o7x qB7P/EMII/WaFAXBJXDXvZX7lmGcOgon6wLhKJLGXorP6BIxOg6LGc6Ux7BAt3i9 0luj Iq/sDsl23hsr3yOUpV5C5a813nrHx4HJyd/hBT1UvIUml eTmJwWCpSfs2cvxIUr0CE57JAZVyXjK13shK3IsZHLPPsm/JcDCrdy0Co/d5uIGJAdzXdsQ56xsju tlvnA1J6yq2tDIf YK /x6k911A5WXLKYxztD1nq bTYN3Gv/WFfrzVtgWQBrh06ihS2cwvna0S9EV/YPmhnAjJmrX4trNr9NXQ9xaZaW4lGRg87U5QDV nQjj1THk0XHFc69N9g2 DsAGyEs9tK6U0ZQ72hJZ hBCDH1UKw0PlyIhJdxpgPPOWGp8/QVVU2julTeKunvgAAAEc3n GoZfqjsCDi1S6T2MTnjWYWNoFRBhvEZFD /revgpasTOzDQa5NqR1B mUF70r6uw6MWLJ7cT9Tz3jq CA';
$aeskey = base64_decode('qZe60QZFxuirub2ey4 7 Q==');
//ECB 모드를 사용하여 AES 암호 해독
$aes = 새로운 Crypt_AES(CRYPT_MODE_ECB);
//AES 키 설정
$aes->setKey($aeskey);
//AES 암호문 복호화
$plaintext = $aes->decrypt(base64_decode($crypttext));
echo $plaintext;
echo '<시간 />';
//AES 암호화된 일반 텍스트
//echo $aes->encrypt($plaintext);
//rsa 공개 키
$publickey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCffOeIVYut9jW5w1L5uKX4aDvd837a8JhaWm5S8YqNQfgEmfD9T rDknXLqMT DXeQAqGo4hBmcbej1aoMzn6hIJHk3/TfTAToNN8fgw tHewsTCBbVkQWtDTby3GouWToVsRi1i/A0Vfb0 xM8MnF46DdhhrnZrycERBSbyrcwIDAQAB';
//echo base64_decode($publickey);
//rsa 서명
$signature = ' cPyYDxLhDN646Krzw=';
//echo base64_decode($signature);
$rsa = 새로운 Crypt_RSA();
//RSA 서명 모드 설정 CRYPT_RSA_SIGNATURE_PSS 또는 CRYPT_RSA_SIGNATURE_PKCS1
$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
//var_dump($rsa->createKey());
//RSA 공개키와 개인키 생성
//추출($rsa->createKey());
//RSA 개인 키를 사용하여 서명 생성
//$rsa->loadKey($privatekey);
//$signature = $rsa->sign($plaintext);
//RSA 공개 키를 사용하여 서명 확인
echo $plaintext;
$rsa->loadKey(base64_decode($publickey));
echo $rsa->verify($plaintext, base64_decode($signature)) ? '확인됨' : '확인되지 않음';
echo '<시간 />';
//RSA 공개키와 개인키 생성
//var_dump($rsa->createKey());
extract($rsa->createKey());
//RSA 개인 키를 사용하여 데이터 암호화
$rsa->loadKey($privatekey);
$ciphertext = $rsa->암호화($plaintext);
//RSA 공개 키를 사용하여 데이터 암호 해독
$rsa->loadKey($publickey);
echo $rsa->decrypt($ciphertext);

위 내용은 이 기사에 설명된 모든 내용입니다. 이 코드가 PHP 암호화 및 복호화를 배우는 모든 사람에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.