Universidad de Magallanes

Investigación


Dirección de Investigación


facebook twitter youtube
02 de agosto del 2019

php 암호화 예제

이 문서에서는 PHP에서 암호화 된 값을 브라우저에서 읽을 수 없는 양식에 삽입할 수 있지만 양식이 제출된 후 서버에서 쉽게 해독할 수 있는 양방향 암호화 기술을 살펴봅습니다. 더 하기 전에 암호화와 인증의 차이점과 암호화가 아닌 인증된 암호화를 원하는 이유를 이해하려고 합니다. 비밀 키 암호화(또는 알려진 대로 대칭 암호화)는 단일 키를 사용하여 데이터를 암호화하고 해독합니다. PHP 7.2에 도입된 나트륨을 사용하여 이러한 메커니즘을 구현하는 방법을 살펴보겠습니다. 이전 버전의 PHP를 실행하는 경우 PECL을 통해 나트륨을 설치할 수 있습니다. 이 예제에서는 다양한 알고리즘을 테스트합니다: 현재 선택할 수 있는 200개의 암호화 암호 의 이웃에 있는 대부분의 서버에서, 그리고 우리가 논의하지 않은 $options 값도 출력에 영향을 미칠 수 있습니다. $key 값을 생성하고 $iv 전달하는 방법은 여러 가지가 있습니다. 모든 옵션을 신중하게 고려하십시오. 그 외에도 초기 시대 PHP4 최소한의 암호화 답변의이 고전적인 에피소드를 즐기십시오. 이 점을 염두에두고 봉투 암호화를 수행하기위한 매우 간단한 도우미 클래스를 만들었습니다. 빠른 시작 및 인증 가이드를 통해 시작하는 데 필요한 모든 것을 간략하게 설명하므로 Google 클라우드 콘솔에서 필요한 단계를 거치지 않을 것입니다. 간결함을 위해 이 예제에서는 오류 처리 등이 없습니다.

우리는 암호 해독을 수행하기 위해 필요하고 우리가 다른 수단을 통해 다시 만들 수 있도록 매번 무작위적이고 고유하기 때문에 암호화 된 문자열과 함께 IV를 포함한다. 단방향 암호화에 사용되는 소금과 유사하며 해시의 일부를 형성합니다. 대칭 암호화 및 암호 해독 이상을 찾고 있다면 libsodium-php를 확인하십시오. “암호”를 사용하려는 경우 지금 중지하십시오. 사람의 기억에 남는 암호가 아닌 임의의 128비트 암호화 키가 필요합니다. 예를 #1 GCM 모드에서 인증된 암호화예는 PHP 7.1+ 어떤 방법을 선택하든 암호화 키와 암호 메서드가 암호화할 때 사용되는 방법과 동일해야 합니다. 이제 $iv 암호화된 문자열에 미리 보류하고 구분 기호를 사용하지 않는다는 점을 제외하고는 이전 예제와 크게 달라지지 않았습니다. 3) 여기에 나열된 바와 같이 쉽게 구현 할 수있는 암호화의 모든 종류는 합리적으로 당신이 캐고 눈에서 유지하거나 우발적 인 / 의도적 인 누출의 경우 노출을 제한하려는 약간 중요한 정보를 보호 할 수 있습니다. 그러나 키가 웹 서버의 일반 텍스트로 저장되는 방법을 보고 데이터를 얻을 수 있다면 암호 해독 키를 얻을 수 있습니다. 위에서 언급했듯이 암호 해독은 암호 메서드, 암호화 키 및 초기화 벡터를 알고 있거나 다시 만들 수 있어야 합니다. 암호화 함수 호출의 유일한 차이점은 암호화된 문자열을 첫 번째 매개 변수로 대체한다는 것입니다.

나는 역사적 목적을 위해이 대답을 남겼습니다 – 그러나 일부 방법은 이제 더 이상 사용되지 않으며 DES 암호화 방법은 권장되는 관행이 아닙니다. 데이터베이스에 기록되기 직전에 데이터를 암호화하기 위해 암호화 코드를 사용했습니다. 암호화를 위해 OpenSSL 라이브러리, 특히 openssl_encrypt 함수를 사용 하 여 다음과 같이 정의 된: 작업 예제 (정적 클래스로 작성): https://gist.github.com/petermuller71/33616d55174d9725fc00a663d30194ba 1) 단방향 해시가 수행될 때 는 되돌릴 수 있거나 “대칭” 암호화를 사용하지 마십시오. 나는 최근에 라라콘 EU에 참석 2018 마커스 보인턴은 PHP에서 암호화에 큰 이야기를했다 7.2. 나는 얼마나 광대 하게 복잡한 암호화에 대한 훨씬 더 큰 감사를 가지고 이야기를 떠났다, 뿐만 아니라 PHP는 나트륨의 도입 덕분에 암호화에 더 접근 할 수있는 방법에 대한. PHP의 데이터 암호화는 SpinupWP에 대한 작업의 일환으로 작업한 것이므로 몇 가지 통찰력을 공유할 때라고 생각했습니다.

inicio atrás arriba

DESTACADOS

  • LINKS


  • Dirección de Investigación

    Investigación • Avenida Bulnes 01890 • Punta Arenas • Chile
    Teléfono: +56 61 2 209 397 • Email: dir.investigacion@umag.cl