지원되는 버전:현재 (18) / 17 / 16 / 15 / 14 / 13
개발 버전:개발
지원되지 않는 버전:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

F.24. pg토토 사이트o

pg토토 사이트o모듈은 다음에 대한 암호화 기능을 제공합니다.포스트그레SQL.

F.24.1. 일반 해싱 함수

F.24.1.1.다이제스트()

digest(데이터 텍스트, 유형 텍스트)는 bytea를 반환합니다.
다이제스트(데이터 바이트, 텍스트 유형)는 바이트를 반환합니다.

주어진 바이너리 해시를 계산합니다데이터. 유형은 사용할 알고리즘입니다. 표준 알고리즘은 다음과 같습니다.md5, 샤1, 샤224, 샤256, sha384그리고sha512. 만약에pg토토 사이트oOpenSSL로 구축되었으며 자세한 내용은 더 많은 알고리즘을 사용할 수 있습니다.표 F-20.

다이제스트를 16진수 문자열로 원하면 다음을 사용하세요.인코드()결과에 대해. 예를 들어:

함수 생성 또는 교체 sha1(bytea)는 텍스트를 $$로 반환합니다.
    SELECT 인코딩(다이제스트($1, 'sha1'), '16진수')
$$ LANGUAGE SQL STRICT 불변;

F.24.1.2.hmac()

hmac(데이터 텍스트, 키 텍스트, 유형 텍스트)는 bytea를 반환합니다.
hmac(data bytea, key bytea, type text)는 bytea를 반환합니다.

해싱된 MAC 계산데이터키 포함. 유형와 동일다이제스트().

이것은 다음과 유사합니다.다이제스트()그러나 해시는 키를 알아야만 다시 계산할 수 있습니다. 이렇게 하면 누군가가 데이터를 변경하고 해시도 일치하도록 변경하는 시나리오가 방지됩니다.

키가 해시 블록 크기보다 크면 먼저 해시되고 결과가 키로 사용됩니다.

F.24.2. 비밀번호 해싱 함수

함수암호()그리고gen_salt()해싱 비밀번호를 위해 특별히 설계되었습니다.암호()해싱을 수행하고gen_salt()알고리즘 매개변수를 준비합니다.

알고리즘암호()다음 측면에서 일반적인 MD5 또는 SHA1 해싱 알고리즘과 다릅니다.

  1. 그들은 느립니다. 데이터 양이 너무 적기 때문에 이것이 무차별 암호 대입을 어렵게 만드는 유일한 방법입니다.

  2. 그들은 임의의 값을 사용합니다.소금, 동일한 비밀번호를 가진 사용자는 서로 다른 암호화된 비밀번호를 갖게 됩니다. 이는 또한 알고리즘 반전에 대한 추가 방어이기도 합니다.

  3. 결과에 알고리즘 유형이 포함되므로 다른 알고리즘으로 해시된 비밀번호가 공존할 수 있습니다.

  4. 그 중 일부는 적응형입니다. 즉, 컴퓨터가 빨라지면 기존 비밀번호와 호환되지 않으면서 알고리즘을 더 느리게 조정할 수 있습니다.

표 F-17다음에서 지원하는 알고리즘을 나열합니다.암호()함수.

표 F-17. 에 대해 지원되는 알고리즘암호()

알고리즘 최대 비밀번호 길이 적응적? 솔트 비트 출력 길이 설명
bf 72 128 60 복어 기반, 변종 2a
md5 무제한 아니요 48 34 MD5 기반 크립트
xdes 8 24 20 확장 DES
데스 8 아니요 12 13 원래 UNIX 암호

F.24.2.1.암호()

토토 사이트(비밀번호 텍스트, 솔트 텍스트)는 텍스트를 반환합니다.

토토 사이트(3) 스타일 해시를 계산합니다.비밀번호. 새 비밀번호를 저장할 때 다음을 사용해야 합니다.gen_salt()새로운 생성을 위해소금값. 비밀번호를 확인하려면 저장된 해시 값을 다음과 같이 전달하세요.소금, 결과가 저장된 값과 일치하는지 테스트합니다.

새 비밀번호 설정의 예:

업데이트 ... SET pswhash = crypt('새 비밀번호', gen_salt('md5'));

인증 예:

SELECT (pswhash = crypt('입력된 비밀번호', pswhash)) AS pswmatch FROM ... ;

이것은 반환됩니다.입력한 비밀번호가 올바른 경우.

F.24.2.2.gen_salt()

gen_salt(유형 텍스트 [, iter_count 정수 ])는 텍스트를 반환합니다.

다음에서 사용할 새로운 무작위 솔트 문자열을 생성합니다.암호(). 소금 문자열은 또한 다음을 알려줍니다.암호()어떤 알고리즘을 사용할지.

유형매개변수는 해싱 알고리즘을 지정합니다. 허용되는 유형은 다음과 같습니다.데스, xdes, md5그리고bf.

iter_count매개변수를 사용하면 사용자는 반복 횟수가 있는 알고리즘에 대해 반복 횟수를 지정할 수 있습니다. 숫자가 높을수록 비밀번호를 해시하는 데 더 많은 시간이 걸리므로 비밀번호를 해독하는 데 더 많은 시간이 걸립니다. 개수가 너무 많으면 해시를 계산하는 데 몇 년이 걸릴 수 있지만 이는 다소 비실용적입니다. 만약iter_count매개변수가 생략되면 기본 반복 횟수가 사용됩니다. 다음에 대해 허용되는 값iter_count알고리즘에 따라 다르며 다음에 표시됩니다.표 F-18.

표 F-18. 반복 횟수:암호()

알고리즘 기본값 최소 최대
xdes 725 1 16777215
bf 6 4 31

xdes반복 횟수가 홀수여야 한다는 추가 제한이 있습니다.

적절한 반복 횟수를 선택하려면 원래 DES 암호화가 당시 하드웨어에서 초당 4개의 해시 속도를 갖도록 설계되었다는 점을 고려하세요. 초당 4개 해시보다 느리면 유용성이 저하될 수 있습니다. 초당 100개 이상의 해시는 아마도 너무 빠른 것 같습니다.

표 F-19은 다양한 해싱 알고리즘의 상대적인 속도에 대한 개요를 제공합니다. 이 표는 비밀번호에 소문자만 포함되거나 대문자와 소문자 및 숫자만 포함되어 있다고 가정할 때 8자리 비밀번호의 모든 문자 조합을 시도하는 데 걸리는 시간을 보여줍니다. 에서crypt-bf항목, 슬래시 뒤의 숫자는iter_count매개변수gen_salt.

표 F-19. 해시 알고리즘 속도

알고리즘 해시/초 [a-z] [A-Za-z0-9] 기준 기간md5 해시
crypt-bf/8 1792 4년 3927년 100k
crypt-bf/7 3648 2년 1929년 50k
crypt-bf/6 7168 1년 982년 25k
crypt-bf/5 13504 188일 521년 12.5k
crypt-md5 171584 15일 41년 1k
토토 사이트-des 23221568 157.5분 108일 7
샤1 37774272 90분 68일 4
md5(해시) 150085504 22.5분 17일 1

참고:

  • 사용된 기계는 Intel Mobile Core i3입니다.

  • 토토 사이트-des그리고crypt-md5알고리즘 번호는 John the Ripper v1.6.38에서 가져왔습니다.-테스트출력.

  • md5 해시숫자는 mdcrack 1.2에서 나온 것입니다.

  • 샤1숫자는 lcrack-20031130-beta에서 가져온 것입니다.

  • crypt-bf숫자는 1000개의 8자리 비밀번호를 반복하는 간단한 프로그램을 사용하여 가져옵니다. 이렇게 하면 다양한 반복 횟수로 속도를 표시할 수 있습니다. 참고로:존 -테스트다음에 대해 초당 213개의 루프를 표시합니다.crypt-bf/5. (결과의 아주 작은 차이는 다음과 같은 사실에 따른 것입니다.crypt-bf구현pg토토 사이트o존 더 리퍼에서 사용된 것과 동일합니다.)

참고하세요"모든 조합을 시도해보세요"현실적인 연습이 아닙니다. 일반적으로 비밀번호 크래킹은 일반 단어와 다양한 변형이 포함된 사전을 사용하여 수행됩니다. 따라서 다소 단어와 유사한 비밀번호라도 위의 숫자가 제시하는 것보다 훨씬 빠르게 해독될 수 있는 반면, 단어와 유사한 6자가 아닌 비밀번호는 해독을 피할 수 있습니다. 아니면.

F.24.3. PGP 암호화 기능

여기에 있는 함수는 OpenPGP(RFC 4880) 표준의 암호화 부분을 구현합니다. 대칭 키 암호화와 공개 키 암호화가 모두 지원됩니다.

암호화된 PGP 메시지는 두 부분으로 구성됩니다. 또는패킷:

  • 세션 키(대칭 키 또는 암호화된 공개 키)가 포함된 패킷.

  • 세션 키로 암호화된 데이터가 포함된 패킷.

대칭 키(예: 비밀번호)로 암호화하는 경우:

  1. 주어진 비밀번호는 String2Key(S2K) 알고리즘을 사용하여 해시됩니다. 이는 다음과 다소 유사합니다.암호()알고리즘 — 의도적으로 느리고 임의의 솔트를 사용하지만 전체 길이 바이너리 키를 생성합니다.

  2. 별도의 세션 키가 요청되면 새로운 무작위 키가 생성됩니다. 그렇지 않으면 S2K 키가 세션 키로 직접 사용됩니다.

  3. S2K 키를 직접 사용하는 경우 S2K 설정만 세션 키 패킷에 저장됩니다. 그렇지 않으면 세션 키가 S2K 키로 암호화되어 세션 키 패킷에 저장됩니다.

공개 키로 암호화하는 경우:

  1. 새로운 무작위 세션 키가 생성되었습니다.

  2. 공개 키를 사용하여 암호화되어 세션 키 패킷에 저장됩니다.

두 경우 모두 암호화할 데이터는 다음과 같이 처리됩니다:

  1. 선택적 데이터 조작: 압축, utf-8로 변환 및/또는 줄 끝 변환.

  2. 데이터에는 무작위 바이트 블록이 앞에 붙습니다. 이는 임의의 IV를 사용하는 것과 같습니다.

  3. 임의의 접두사와 데이터의 SHA1 해시가 추가됩니다.

  4. 이 모든 것은 세션 키로 암호화되어 데이터 패킷에 저장됩니다.

F.24.3.1.pgp_sym_en토토 사이트()

pgp_sym_en토토 사이트(data text, psw text [, options text ])는 bytea를 반환합니다.
pgp_sym_en토토 사이트_bytea(data bytea, psw text [, options text ]) 는 bytea를 반환합니다.

암호화데이터대칭 PGP 키 포함psw. 그만큼옵션매개변수에는 아래 설명과 같이 옵션 설정이 포함될 수 있습니다.

F.24.3.2.pgp_sym_de토토 사이트()

pgp_sym_de토토 사이트(msg bytea, psw text [, options text ])는 텍스트를 반환합니다.
pgp_sym_de토토 사이트_bytea(msg bytea, psw text [, options text ]) 는 bytea를 반환합니다.

대칭키로 암호화된 PGP 메시지를 해독합니다.

암호해독 중바이테아데이터pgp_sym_de토토 사이트허용되지 않습니다. 이는 잘못된 문자 데이터가 출력되는 것을 방지하기 위한 것입니다. 다음을 사용하여 원래 텍스트 데이터를 해독합니다.pgp_sym_de토토 사이트_bytea괜찮습니다.

옵션매개변수에는 아래 설명과 같이 옵션 설정이 포함될 수 있습니다.

F.24.3.3.pgp_pub_en토토 사이트()

pgp_pub_en토토 사이트(data text, key bytea [, options text ])는 bytea를 반환합니다.
pgp_pub_en토토 사이트_bytea(data bytea, key bytea [, options text ])는 bytea를 반환합니다.

암호화데이터공개 PGP 키 포함. 이 함수에 비밀 키를 제공하면 오류가 발생합니다.

옵션매개변수에는 아래 설명과 같이 옵션 설정이 포함될 수 있습니다.

F.24.3.4.pgp_pub_de토토 사이트()

pgp_pub_de토토 사이트(msg bytea, key bytea [, psw text [, options text ]])는 텍스트를 반환합니다.
pgp_pub_de토토 사이트_bytea(msg bytea, key bytea [, psw text [, options text ]]) 는 bytea를 반환합니다.

공개 키로 암호화된 메시지를 해독합니다.암호화에 사용된 공개 키에 해당하는 비밀 키여야 합니다. 비밀 키가 비밀번호로 보호되어 있는 경우 비밀번호를 입력해야 합니다.psw. 비밀번호는 없지만 옵션을 지정하고 싶다면 빈 비밀번호를 주어야 합니다.

암호해독 중바이테아데이터pgp_pub_de토토 사이트허용되지 않습니다. 이는 잘못된 문자 데이터가 출력되는 것을 방지하기 위한 것입니다. 다음을 사용하여 원래 텍스트 데이터를 해독합니다.pgp_pub_de토토 사이트_bytea괜찮습니다.

옵션매개변수에는 아래 설명과 같이 옵션 설정이 포함될 수 있습니다.

F.24.3.5.pgp_key_id()

pgp_key_id(bytea)가 텍스트를 반환함

pgp_key_idPGP 공개 또는 비밀 키의 키 ID를 추출합니다. 또는 암호화된 메시지가 제공된 경우 데이터 암호화에 사용된 키 ID를 제공합니다.

2개의 특수 키 ID를 반환할 수 있습니다:

  • SYMKEY

    메시지는 대칭키로 암호화되었습니다.

  • 아무키

    메시지는 공개키로 암호화되어 있지만 키 ID는 제거되었습니다. 즉, 어떤 비밀 키가 해독되는지 확인하려면 모든 비밀 키를 시도해야 합니다.pg토토 사이트o자체는 그러한 메시지를 생성하지 않습니다.

다른 키가 동일한 ID를 가질 수 있다는 점에 유의하십시오. 이는 드물지만 일반적인 이벤트입니다. 그런 다음 클라이언트 애플리케이션은 각각의 암호를 해독하여 어느 것이 적합한지 확인해야 합니다. 처리와 같이아무키.

F.24.3.6.갑옷(), earmor()

armor(data bytea [ , 키 텍스트[], 값 텍스트[] ])는 텍스트를 반환합니다.
dearmor(데이터 텍스트)는 bytea를 반환합니다.

이 함수는 바이너리 데이터를 PGP ASCII 갑옷 형식으로 래핑/래핑 해제합니다. 이는 기본적으로 CRC 및 추가 형식이 있는 Base64입니다.

만약그리고배열이 지정되었습니다.갑옷 헤더은 각 키/값 쌍의 강화된 형식에 추가됩니다. 두 배열은 모두 1차원이어야 하며 길이가 동일해야 합니다. 키와 값에는 ASCII가 아닌 문자가 포함될 수 없습니다.

F.24.3.7.pgp_armor_headers

pgp_armor_headers(데이터 텍스트, 키아웃 텍스트, 값아웃 텍스트)는 레코드 세트를 반환합니다.

pgp_armor_headers()에서 갑옷 헤더를 추출합니다.데이터. 반환 값은 키와 값이라는 두 개의 열이 있는 행 집합입니다. 키나 값에 ASCII가 아닌 문자가 포함되어 있으면 utf-8로 처리됩니다.

F.24.3.8. PGP 기능 옵션

옵션의 이름은 GnuPG와 유사합니다. 옵션의 값은 등호 뒤에 와야 합니다. 옵션을 서로 쉼표로 구분하세요. 예를 들어:

pgp_sym_encrypt(data, psw, 'compress-algo=1, cipher-algo=aes256')

다음을 제외한 모든 옵션변환-crlf암호화 기능에만 적용됩니다. 복호화 함수는 PGP 데이터에서 매개변수를 가져옵니다.

가장 흥미로운 옵션은 아마도 다음과 같습니다.압축-알고그리고유니코드 모드. 나머지는 합리적인 기본값을 가져야 합니다.

F.24.3.8.1. 암호알고

어떤 암호화 알고리즘을 사용할 것인가.

값: bf, aes128, aes192, aes256(OpenSSL 전용: 3des캐스트5)
기본값: aes128
적용 대상: pgp_sym_en토토 사이트, pgp_pub_en토토 사이트

F.24.3.8.2. 압축 알고

사용할 압축 알고리즘. 다음 경우에만 사용 가능포스트그레SQLzlib로 빌드되었습니다.

값:
  0 - 압축 없음
  1 - ZIP 압축
  2 - ZLIB 압축(= ZIP + 메타데이터 및 CRC 차단)
기본값: 0
적용 대상: pgp_sym_en토토 사이트, pgp_pub_en토토 사이트

F.24.3.8.3. 압축 수준

압축할 양. 레벨이 높을수록 더 작게 압축되지만 속도가 느려집니다. 0은 압축을 비활성화합니다.

값: 0, 1-9
기본값: 6
적용 대상: pgp_sym_en토토 사이트, pgp_pub_en토토 사이트

F.24.3.8.4. 변환-crlf

변환 여부\n속으로\r\n암호화할 때\r\n\n암호해독할 때. RFC 4880은 텍스트 데이터가 다음을 사용하여 저장되어야 함을 명시합니다.\r\n라인피드. RFC를 완전히 준수하는 동작을 얻으려면 이를 사용하세요.

값: 0, 1
기본값: 0
적용 대상: pgp_sym_en토토 사이트, pgp_pub_en토토 사이트, pgp_sym_de토토 사이트, pgp_pub_de토토 사이트

F.24.3.8.5. 비활성화-mdc

SHA-1로 데이터를 보호하지 마십시오. 이 옵션을 사용하는 유일한 이유는 RFC 4880에 SHA-1 보호 패킷이 추가되기 이전의 고대 PGP 제품과의 호환성을 확보하기 위한 것입니다. 최근 gnupg.org 및 pgp.com 소프트웨어는 이를 잘 지원합니다.

값: 0, 1
기본값: 0
적용 대상: pgp_sym_en토토 사이트, pgp_pub_en토토 사이트

F.24.3.8.6. 세션 키

별도의 세션 키를 사용하십시오. 공개 키 암호화는 항상 별도의 세션 키를 사용합니다. 이 옵션은 기본적으로 S2K 키를 직접 사용하는 대칭 키 암호화를 위한 것입니다.

값: 0, 1
기본값: 0
적용 대상: pgp_sym_en토토 사이트

F.24.3.8.7. s2k 모드

어떤 S2K 알고리즘을 사용할지.

값:
  0 - 소금 없음.  위험한!
  1 - 소금을 사용하지만 반복 횟수는 고정되어 있습니다.
  3 - 변수 반복 횟수.
기본값: 3
적용 대상: pgp_sym_en토토 사이트

F.24.3.8.8. s2k-다이제스트-알고

S2K 계산에 사용할 다이제스트 알고리즘.

값: md5, sha1
기본값: sha1
적용 대상: pgp_sym_en토토 사이트

F.24.3.8.9. s2k-암호-알고

별도의 세션 키를 암호화하는 데 사용할 암호는 무엇입니까?

값: bf, aes, aes128, aes192, aes256
기본값: 암호 알고리즘 사용
적용 대상: pgp_sym_en토토 사이트

F.24.3.8.10. 유니코드 모드

텍스트 데이터를 데이터베이스 내부 인코딩에서 utf-8로 변환하거나 그 반대로 변환할지 여부. 데이터베이스가 이미 utf-8인 경우 변환은 수행되지 않지만 메시지에는 utf-8 태그가 지정됩니다. 이 옵션이 없으면 불가능합니다.

값: 0, 1
기본값: 0
적용 대상: pgp_sym_en토토 사이트, pgp_pub_en토토 사이트

F.24.3.9. GnuPG로 PGP 키 생성

새 키를 생성하려면:

gpg --gen-key

선호되는 키 유형은"DSA와 엘가말".

RSA 암호화의 경우 DSA 또는 RSA 서명 전용 키를 마스터로 생성한 다음 다음을 사용하여 RSA 암호화 하위 키를 추가해야 합니다.gpg --edit-key.

키를 나열하려면:

gpg --list-secret-keys

공개 키를 ASCII-armor 형식으로 내보내려면:

gpg -a --export KEYID  public.key

ASCII-armor 형식으로 비밀 키를 내보내려면:

gpg -a --export-secret-keys 키ID  secret.key

사용해야 합니다사랑하는 사람()이 키를 PGP 기능에 제공하기 전에. 또는 바이너리 데이터를 처리할 수 있다면 삭제할 수 있습니다.-a명령에서.

자세한 내용은 참조남자 gpg, GNU 개인정보 보호 핸드북및 기타 문서http://www.gnupg.org.

F.24.3.10. PGP 코드의 한계

  • 서명을 지원하지 않습니다. 이는 또한 암호화 하위 키가 마스터 키에 속하는지 여부를 확인하지 않음을 의미합니다.

  • 암호화 키를 마스터 키로 지원하지 않습니다. 이러한 관행은 일반적으로 권장되지 않으므로 문제가 되지 않습니다.

  • 여러 하위 키를 지원하지 않습니다. 이는 일반적인 관행이므로 문제처럼 보일 수 있습니다. 반면에 일반 GPG/PGP 키를 다음과 함께 사용하면 안 됩니다.pg토토 사이트o, 그러나 사용 시나리오가 다소 다르기 때문에 새로운 것을 만드십시오.

F.24.4. 원시 암호화 기능

이 함수는 데이터에 대해서만 암호를 실행합니다. PGP 암호화의 고급 기능이 없습니다. 따라서 몇 가지 중요한 문제가 있습니다.

  1. 그들은 사용자 키를 암호 키로 직접 사용합니다.

  2. 암호화된 데이터가 수정되었는지 확인하기 위해 무결성 검사를 제공하지 않습니다.

  3. 그들은 사용자가 IV를 포함한 모든 암호화 매개변수를 스스로 관리하기를 기대합니다.

  4. 그들은 텍스트를 처리하지 않습니다.

따라서 PGP 암호화가 도입되면서 원시 암호화 기능의 사용은 권장되지 않습니다.

encrypt(데이터 바이트, 키 바이트, 텍스트 입력)는 바이트를 반환합니다.
decrypt(데이터 바이트, 키 바이트, 텍스트 입력)는 바이트를 반환합니다.

en토토 사이트_iv(data bytea, key bytea, iv bytea, type text)는 bytea를 반환합니다.
de토토 사이트_iv(data bytea, key bytea, iv bytea, type text)는 bytea를 반환합니다.

다음에 지정된 암호화 방법을 사용하여 데이터 암호화/해독유형. 의 구문유형문자열은:

알고리즘 [ - 모드 ] [ /패드: 패딩 ]

어디에서알고리즘다음 중 하나입니다:

  • bf— 복어

  • aes— AES(Rijndael-128, -192 또는 -256)

그리고모드다음 중 하나입니다:

  • cbc— 다음 블록은 이전 블록에 따라 다름(기본값)

  • ecb— 각 블록은 별도로 암호화됩니다(테스트용으로만)

그리고패딩다음 중 하나입니다:

  • pkcs— 데이터 길이에는 제한이 없습니다(기본값)

  • 없음— 데이터는 암호 블록 크기의 배수여야 합니다.

따라서 예를 들어 다음은 동일합니다:

암호화(데이터, 'fooz', 'bf')
암호화(데이터, 'fooz', 'bf-cbc/pad:pkcs')

en토토 사이트_iv그리고de토토 사이트_iv, 그iv매개변수는 CBC 모드의 초기 값입니다. ECB에서는 무시됩니다. 블록 크기가 정확하지 않은 경우 잘리거나 0으로 채워집니다. 이 매개변수가 없는 함수에서는 기본값이 모두 0입니다.

F.24.5. 무작위 데이터 함수

gen_random_bytes(count 정수)는 bytea를 반환합니다.

반환개수암호적으로 강력한 임의 바이트입니다. 한 번에 최대 1024바이트를 추출할 수 있습니다. 이는 임의성 생성기 풀이 고갈되는 것을 방지하기 위한 것입니다.

gen_random_uuid()는 uuid를 반환합니다.

버전 4(임의) UUID를 반환합니다.

F.24.6. 참고

F.24.6.1. 구성

pg토토 사이트o주 PostgreSQL의 결과에 따라 자체 구성구성스크립트. 영향을 미치는 옵션은 다음과 같습니다.--with-zlib그리고--with-openssl.

zlib로 컴파일하면 PGP 암호화 기능은 암호화하기 전에 데이터를 압축할 수 있습니다.

OpenSSL로 컴파일하면 더 많은 알고리즘을 사용할 수 있습니다. 또한 OpenSSL에 BIGNUM 기능이 더 최적화되어 있으므로 공개 키 암호화 기능이 더 빨라집니다.

표 F-20. OpenSSL 유무에 따른 기능 요약

기능 내장 OpenSSL 사용
MD5
SHA1
SHA224/256/384/512 예(참고 1)
기타 다이제스트 알고리즘 아니요 예(참고 2)
복어
AES 예(참고 3)
DES/3DES/CAST5 아니요
원시 암호화
PGP 대칭 암호화
PGP 공개 키 암호화

참고:

  1. SHA2 알고리즘은 버전 0.9.8의 OpenSSL에 추가되었습니다. 이전 버전의 경우,pg토토 사이트o내장 코드를 사용합니다.

  2. OpenSSL이 지원하는 모든 다이제스트 알고리즘이 자동으로 선택됩니다. 이는 명시적으로 지원되어야 하는 암호에서는 불가능합니다.

  3. AES는 버전 0.9.7부터 OpenSSL에 포함되어 있습니다. 이전 버전의 경우,pg토토 사이트o내장 코드를 사용합니다.

F.24.6.2. NULL 처리

SQL의 표준과 마찬가지로 인수 중 하나라도 NULL이면 모든 함수는 NULL을 반환합니다. 부주의하게 사용하면 보안 위험이 발생할 수 있습니다.

F.24.6.3. 보안 제한

모두pg토토 사이트o함수는 데이터베이스 서버 내부에서 실행됩니다. 이는 모든 데이터와 비밀번호가 서로 이동한다는 것을 의미합니다.pg토토 사이트o및 일반 텍스트의 클라이언트 응용프로그램. 따라서 다음을 수행해야 합니다.

  1. 로컬로 연결하거나 SSL 연결을 사용하세요.

  2. 시스템 관리자와 데이터베이스 관리자를 모두 신뢰하십시오.

그렇지 않다면 클라이언트 애플리케이션 내에서 암호화를 수행하는 것이 좋습니다.

구현은 저항하지 않습니다.토토 사이트드 채널 공격. 예를 들어, a에 필요한 시간은pg토토 사이트o완료할 암호 해독 기능은 주어진 크기의 암호문에 따라 다릅니다.

F.24.6.4. 유용한 독서

F.24.6.5. 기술 참조

F.24.7. 작가

마코 크린

pg토토 사이트o다음 소스의 코드를 사용합니다:

알고리즘 저자 소스 출처
DES 지하실 데이비드 버렌 및 기타 FreeBSD lib토토 사이트
MD5 크립트 폴-헤닝 캠프 FreeBSD lib토토 사이트
복어 지하실 태양광 디자이너 www.openwall.com
복어 암호 토토 사이트먼 테이텀 푸티
Rijndael 암호 브라이언 글래드먼 OpenBSD 시스템/암호화
MD5 해시 및 SHA1 와이드 프로젝트 KAME 카메/sys/암호화
SHA256/384/512 아론 D. 기포드 OpenBSD 시스템/암호화
BIGNUM 수학 마이클 J. 프롬베르거 dartmouth.edu/~sting/sw/imath