Phiên bản được hỗ trợ:hiện tại(17)16/15/14/13
Phiên bản phát triển:Devel
Phiên bản không được hỗ trợ:12/11/10/9.6/9.5/9.4/9.3/9.2/9.1/9.0/8.4/8.3
Tài tỷ lệ kèo bóng đá này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong tỷ lệ kèo bóng đá phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

F.25.pgcrypto

ThepgcryptoMô -đun cung cấp tỷ lệ kèo bóng đá hàm mật mã choPostgreSQL.

F.25.1.Chức năng băm chung

F.25.1.1.digest ()

Digest (văn bản dữ tỷ lệ kèo bóng đá, loại văn bản) trả về bytea

Tính toán băm nhị phân của đã choData.loạilà thuật toán được sử dụng. Thuật toán tiêu chuẩn làMD5,SHA1,SHA224,SHA256,SHA384SHA512. Nếu nhưpgcryptođược xây dựng với OpenSSL, nhiều thuật toán có sẵn, như chi tiết trongBảng F.19.

Nếu bạn muốn tiêu tỷ lệ kèo bóng đá dưới dạng chuỗi thập lục phân, hãy sử dụngmã tỷ lệ kèo bóng đá ()Kết quả. Ví dụ:

Tạo hoặc thay thế hàm sha1 (bytea) trả về văn bản dưới dạng $$

F.25.1.2.hmac ()

HMAC (văn bản dữ tỷ lệ kèo bóng đá, văn bản chính, loại văn bản) trả về bytea

Tính toán băm MAC choDatavới tỷ lệ kèo bóng đáKey.loạigiống như trongdigest ().

Điều này tương tự nhưdigest ()Nhưng băm chỉ có thể được tính toán lại khi biết khóa. Điều này ngăn chặn kịch bản của ai đó thay đổi dữ tỷ lệ kèo bóng đá và cũng thay đổi băm để khớp.

Nếu tỷ lệ kèo bóng đá lớn hơn kích thước khối băm, nó sẽ được băm trước và kết quả sẽ được sử dụng làm tỷ lệ kèo bóng đá.

F.25.2.Hàm băm tỷ lệ kèo bóng đá khẩu

tỷ lệ kèo bóng đá chức năngCrypt ()Gen_salt ()được thiết kế đặc biệt cho tỷ lệ kèo bóng đá khẩu băm.Crypt ()băm vàGen_salt ()Chuẩn bị tỷ lệ kèo bóng đá tham số thuật toán cho nó.

tỷ lệ kèo bóng đá thuật toán trongCrypt ()khác với thuật toán băm MD5 hoặc SHA1 thông thường trong tỷ lệ kèo bóng đá khía cạnh sau:

  1. Chúng chậm. Vì lượng dữ tỷ lệ kèo bóng đá quá nhỏ, đây là cách duy nhất để làm cho mật khẩu bắt buộc khó khăn.

  2. Họ sử dụng một giá trị ngẫu nhiên, được gọi làSalt, để người dùng có cùng một tỷ lệ kèo bóng đá khẩu sẽ có tỷ lệ kèo bóng đá khẩu được mã hóa khác nhau. Đây cũng là một biện pháp bảo vệ bổ sung chống lại thuật toán.

  3. Chúng bao gồm loại thuật toán trong kết quả, vì vậy mật khẩu được băm với tỷ lệ kèo bóng đá thuật toán khác nhau có thể cùng tồn tại.

  4. Một số trong số chúng thích ứng - điều đó có nghĩa là khi máy tính nhanh hơn, bạn có thể điều chỉnh thuật toán để chậm hơn, mà không cần giới thiệu không tương thích với tỷ lệ kèo bóng đá khẩu hiện có.

Bảng F.16Liệt kê tỷ lệ kèo bóng đá thuật toán được hỗ trợ bởiCrypt ()chức năng.

Bảng F.16.tỷ lệ kèo bóng đá thuật toán được hỗ trợ choCrypt ()

Thuật toán Độ dài tỷ lệ kèo bóng đá khẩu tối đa Thích ứng? bit muối Độ dài đầu ra Mô tả
BF 72 128 60 dựa trên cá, biến thể 2A
MD5 không giới hạn Không 48 34 Crypt dựa trên MD5
XDES 8 24 20 mở rộng des
des 8 không 12 13 Crypt Unix gốc

F.25.2.1.Crypt ()

Crypt (văn bản tỷ lệ kèo bóng đá khẩu, văn bản muối) Trả về văn bản

Tính toán một tỷ lệ kèo bóng đá mã (3)-kiểu băm củatỷ lệ kèo bóng đá khẩu. Khi lưu trữ tỷ lệ kèo bóng đá khẩu mới, bạn cần sử dụngGen_salt ()Để tạo mớiSaltGiá trị. Để kiểm tra tỷ lệ kèo bóng đá khẩu, hãy truyền giá trị băm được lưu trữ dưới dạngSaltvà kiểm tra xem kết quả có khớp với giá trị được lưu trữ hay không.

Ví dụ về việc thiết lập tỷ lệ kèo bóng đá khẩu mới:

CẬP NHẬT ... Đặt pswhash = crypt ('tỷ lệ kèo bóng đá khẩu mới', gen_salt ('md5'));

Ví dụ về xác thực:

Chọn (pswhash = crypt ('đã nhập tỷ lệ kèo bóng đá khẩu', pswhash)) dưới dạng pswmatch từ ...;

Điều này trả vềTRUENếu tỷ lệ kèo bóng đá khẩu đã nhập là chính xác.

F.25.2.2.Gen_salt ()

18236_18296

Tạo chuỗi muối ngẫu nhiên mới để sử dụng trongCrypt (). Chuỗi muối cũng cho biếtCrypt ()Thuật toán nào sẽ sử dụng.

TheloạiTham số Chỉ định thuật toán băm. tỷ lệ kèo bóng đá loại được chấp nhận là:des,XDES,MD5BF.

TheITER_COUNTTham số cho phép người dùng chỉ định số lần lặp, cho tỷ lệ kèo bóng đá thuật toán có một. Số lượng càng cao, càng cần nhiều thời gian để băm mật khẩu và do đó càng có nhiều thời gian để phá vỡ nó.ITER_COUNTTham số bị bỏ qua, số lần lặp mặc định được sử dụng. Giá trị được phép choITER_COUNTphụ thuộc vào thuật toán và được hiển thị trongBảng F.17.

Bảng F.17.Số lần lặp choCrypt ()

Thuật toán mặc định Min Max
XDES 725 1 16777215
BF 6 4 31

choXDESCó một giới hạn bổ sung rằng số lần lặp phải là một số lẻ.

Để chọn số lần lặp phù hợp, hãy xem xét rằng Crypt Des ban đầu được thiết kế để có tốc độ 4 băm mỗi giây trên phần cứng thời đó. Chậm hơn 4 băm mỗi giây có thể làm giảm khả năng sử dụng.

Bảng F.18đưa ra một cái nhìn tổng quan về sự chậm chạp tương đối của tỷ lệ kèo bóng đá thuật toán băm khác nhau. Bảng cho thấy sẽ mất bao nhiêu thời gian để thử tất cả tỷ lệ kèo bóng đá kết hợp tỷ lệ kèo bóng đá ký tự trong mật khẩu 8 ký tự, giả sử rằng mật khẩu chỉ chứa tỷ lệ kèo bóng đá chữ cái chữ thường hoặc tỷ lệ kèo bóng đá chữ cái và chữ cái trên và chữ cái.Crypt-BFmục, số sau khi chém làITER_COUNTtham số củaGen_salt.

Bảng F.18.Thuật toán băm tốc độ

Thuật toán băm/giây cho[A-Z] cho[A-ZA-Z0-9] Thời lượng liên quan đếnMD5 Hash
Crypt-BF/8 1792 4 năm 3927 năm 100K
Crypt-BF/7 3648 2 năm 1929 năm 50K
Crypt-BF/6 7168 1 năm 982 năm 25K
Crypt-BF/5 13504 188 ngày 521 ​​năm 12,5k
Crypt-MD5 171584 15 ngày 41 năm 1K
Crypt-Des 23221568 157,5 phút 108 ngày 7
SHA1 37774272 90 phút 68 ngày 4
MD5(Hash) 150085504 22,5 phút 17 ngày 1

ghi chú:

  • Máy được sử dụng là Intel Mobile Core i3.

  • Crypt-DesCrypt-MD5Số thuật toán được lấy từ John the Ripper v1.6.38-Testđầu ra.

  • MD5 HashSố là từ MDCrack 1.2.

  • SHA1Số là từ Lcrack-20031130-beta.

  • Crypt-BFtỷ lệ kèo bóng đá số được thực hiện bằng một chương trình đơn giản lặp hơn 1000 mật khẩu 8 ký tự. Bằng cách đó tôi có thể hiển thị tốc độ với số lần lặp khác nhau.John -testHiển thị 13506 vòng/giây choCrypt-BF/5. (Sự khác biệt rất nhỏ trong kết quả phù hợp với thực tế làCrypt-BFtriển khai trongPGCRYPTOgiống nhau được sử dụng trong John the Ripper.)

Lưu ý rằngthử tất cả tỷ lệ kèo bóng đá kết hợpxôngkhông phải là một bài tập thực tế. Thông thường việc bẻ khóa mật khẩu được thực hiện với sự trợ giúp của từ điển, có chứa cả từ thông thường và tỷ lệ kèo bóng đá đột biến khác nhau của chúng.

F.25.3.Chức năng mã tỷ lệ kèo bóng đá PGP

tỷ lệ kèo bóng đá chức năng ở đây thực hiện phần mã hóa của tiêu chuẩn OpenPGP (RFC 4880). Được hỗ trợ là cả mã hóa đối xứng và khóa công khai.

Thông báo PGP được mã tỷ lệ kèo bóng đá bao gồm 2 phần hoặcgói:

  • Gói chứa khóa phiên-được mã tỷ lệ kèo bóng đá đối xứng hoặc khóa công khai.

  • gói chứa dữ tỷ lệ kèo bóng đá được mã hóa bằng khóa phiên.

Khi mã hóa bằng khóa đối xứng (tức là, tỷ lệ kèo bóng đá khẩu):

  1. tỷ lệ kèo bóng đá khẩu đã cho được băm bằng thuật toán String2Key (S2K). Điều này khá giống vớiCrypt ()Thuật toán-có chủ đích chậm và với muối ngẫu nhiên-nhưng nó tạo ra một tỷ lệ kèo bóng đá nhị phân dài đầy đủ.

  2. Nếu yêu cầu tỷ lệ kèo bóng đá phiên riêng biệt, một tỷ lệ kèo bóng đá ngẫu nhiên mới sẽ được tạo. Nếu không, phím S2K sẽ được sử dụng trực tiếp làm phím phiên.

  3. Nếu phím S2K được sử dụng trực tiếp, thì chỉ có cài đặt S2K sẽ được đặt vào gói khóa phiên. Nếu không, khóa phiên sẽ được mã tỷ lệ kèo bóng đá bằng phím S2K và đặt vào gói khóa phiên.

Khi mã tỷ lệ kèo bóng đá bằng khóa công khai:

  1. Một tỷ lệ kèo bóng đá phiên ngẫu nhiên mới được tạo.

  2. Nó được mã tỷ lệ kèo bóng đá bằng khóa công khai và đặt vào gói khóa phiên.

Trong cả hai trường hợp, dữ tỷ lệ kèo bóng đá được mã hóa được xử lý như sau:

  1. Điều khiển dữ tỷ lệ kèo bóng đá tùy chọn: nén, chuyển đổi sang UTF-8 và/hoặc chuyển đổi kết thúc dòng.

  2. Dữ tỷ lệ kèo bóng đá được tiền tố với một khối các byte ngẫu nhiên. Điều này tương đương với việc sử dụng IV ngẫu nhiên.

  3. Một băm SHA1 của tiền tố và dữ tỷ lệ kèo bóng đá ngẫu nhiên được nối thêm.

  4. Tất cả điều này được mã hóa bằng khóa phiên và được đặt trong gói dữ tỷ lệ kèo bóng đá.

F.25.3.1.pgp_sym_encrypt ()


      

mã tỷ lệ kèo bóng đáDataVới tỷ lệ kèo bóng đá PGP đối xứngPSW. TheTùy chọnTham số có thể chứa cài đặt tùy chọn, như được mô tả bên dưới.

F.25.3.2.pgp_sym_decrypt ()


      

Giải mã một thông báo PGP được mã tỷ lệ kèo bóng đá đối xứng.

giải mãbyteaDữ tỷ lệ kèo bóng đá vớiPGP_SYM_DECRYPTkhông được phép. Điều này là để tránh xuất dữ tỷ lệ kèo bóng đá ký tự không hợp lệ.PGP_SYM_DECRYPT_BYTEAlà tốt.

TheTùy chọnTham số có thể chứa cài đặt tùy chọn, như được mô tả bên dưới.

F.25.3.3.pgp_pub_encrypt ()

31444_31594

mã tỷ lệ kèo bóng đáDữ tỷ lệ kèo bóng đáVới tỷ lệ kèo bóng đá PGP công khaiKey. Cho chức năng này một khóa bí tỷ lệ kèo bóng đá sẽ tạo ra một lỗi.

TheTùy chọnTham số có thể chứa cài đặt tùy chọn, như được mô tả bên dưới.

F.25.3.4.pgp_pub_decrypt ()


      

giải mã một tin nhắn được mã tỷ lệ kèo bóng đá công khai.Keyphải là khóa bí tỷ lệ kèo bóng đá tương ứng với khóa công khai được sử dụng để mã hóa. Nếu khóa bí tỷ lệ kèo bóng đá được bảo vệ bằng tỷ lệ kèo bóng đá khẩu, bạn phải cung cấp tỷ lệ kèo bóng đá khẩu trongPSW. Nếu không có mật khẩu, nhưng bạn muốn chỉ định tỷ lệ kèo bóng đá tùy chọn, bạn cần cung cấp mật khẩu trống.

giải mãbyteaDữ tỷ lệ kèo bóng đá vớiPGP_PUB_DECRYPTkhông được phép. Điều này là để tránh xuất dữ tỷ lệ kèo bóng đá ký tự không hợp lệ.PGP_PUB_DECRYPT_BYTEAlà tốt.

TheTùy chọnTham số có thể chứa cài đặt tùy chọn, như được mô tả bên dưới.

F.25.3.5.PGP_KEY_ID ()

pgp_key_id (bytea) trả về văn bản

PGP_KEY_IDTrích xuất ID chính của khóa công khai hoặc bí mật PGP. Hoặc nó cung cấp ID chính được sử dụng để mã hóa dữ tỷ lệ kèo bóng đá, nếu được cung cấp một thông báo được mã hóa.

Nó có thể trả về 2 ID tỷ lệ kèo bóng đá đặc biệt:

  • Symkey

    Thông báo được mã tỷ lệ kèo bóng đá bằng khóa đối xứng.

  • Anykey

    Thông báo được mã hóa khóa công khai, nhưng ID chính đã bị xóa. Điều đó có nghĩa là bạn sẽ cần phải thử tất cả tỷ lệ kèo bóng đá khóa bí mật của mình trên đó để xem cái nào đã giải mã nó.pgcryptoBản thân nó không tạo ra tỷ lệ kèo bóng đá tin nhắn đó.

Lưu ý rằng tỷ lệ kèo bóng đá khóa khác nhau có thể có cùng một ID. Điều này là hiếm nhưng một sự kiện bình thường.Anykey.

F.25.3.6.Armor (),Dearmor ()

35327_35427

35441_35573

NếuKeysGiá trịMảng được chỉ định, mộtTiêu đề áo giápđược thêm vào định dạng bọc thép cho mỗi cặp tỷ lệ kèo bóng đá/giá trị. Cả hai mảng phải có một chiều và chúng phải có cùng chiều dài.

F.25.3.7.pgp_armor_headers


      

pgp_armor_headers ()Trích xuất tỷ lệ kèo bóng đá tiêu đề áo giáp từDữ tỷ lệ kèo bóng đá. Giá trị trả về là một tập hợp tỷ lệ kèo bóng đá hàng có hai cột, khóa và giá trị.

F.25.3.8.Tùy chọn cho tỷ lệ kèo bóng đá chức năng PGP

Tùy chọn được đặt tên tương tự như Gnupg. Giá trị của một tùy chọn nên được đưa ra sau một dấu hiệu bằng nhau;

37138_37207

Tất cả tỷ lệ kèo bóng đá tùy chọn ngoại trừConvert-crlfChỉ áp dụng cho các chức năng mã hóa. Các chức năng giải mã nhận được các tham số từ dữ tỷ lệ kèo bóng đá PGP.

tỷ lệ kèo bóng đá tùy chọn thú vị nhất có lẽ lànén-algoUnicode-mode. Phần còn lại phải có mặc định hợp lý.

F.25.3.8.1.tỷ lệ kèo bóng đá mã

Thuật toán tỷ lệ kèo bóng đá mã nào sẽ sử dụng.


Giá trị: BF, AES128, AES192, AES256 (OpenSSL chỉ:3DES,Cast5)
Mặc định: AES128
Áp dụng cho: pgp_sym_encrypt, pgp_pub_encrypt

F.25.3.8.2.nén-algo

Thuật toán nén nào sẽ sử dụng. Chỉ khả dụng nếuPostgreSQLđược xây dựng với zlib.


Giá trị:
0-Không nén
1-nén zip
2-nén zlib (= zip cộng với meta-data và block crcs)
Mặc định: 0
Áp dụng cho: pgp_sym_encrypt, pgp_pub_encrypt

F.25.3.8.3.Nước nén

Bao nhiêu để nén. Mức độ cao hơn nén nhỏ hơn nhưng chậm hơn.


Giá trị: 0, 1-9
Mặc định: 6
Áp dụng cho: pgp_sym_encrypt, pgp_pub_encrypt

F.25.3.8.4.chuyển đổi-crlf

Có nên chuyển đổi\ nthành\ r \ nKhi mã tỷ lệ kèo bóng đá và\ r \ nđến\ nKhi giải mã. RFC 4880 Chỉ định rằng dữ tỷ lệ kèo bóng đá văn bản phải được lưu trữ bằng cách sử dụng\ r \ nLine-Feed. Sử dụng điều này để có được hành vi tuân thủ hoàn toàn RFC.


40306_40341
Mặc định: 0
​​Áp dụng cho: pgp_sym_encrypt, pgp_pub_encrypt, pgp_sym_decrypt, pgp_pub_decrypt

F.25.3.8.5.Vô hiệu tỷ lệ kèo bóng đá-MDC

Không bảo vệ dữ tỷ lệ kèo bóng đá với SHA-1. Lý do chính đáng duy nhất để sử dụng tùy chọn này là để đạt được khả năng tương thích với các sản phẩm PGP cổ đại, dự đoán việc bổ sung các gói được bảo vệ SHA-1 vào RFC 4880.


Giá trị: 0, 1
Mặc định: 0
Áp dụng cho: pgp_sym_encrypt, pgp_pub_encrypt

F.25.3.8.6.sess-key

Sử dụng khóa phiên riêng biệt. Mã tỷ lệ kèo bóng đá khóa công khai luôn sử dụng khóa phiên riêng biệt;


Giá trị: 0, 1
Mặc định: 0
Áp dụng cho: pgp_sym_encrypt

F.25.3.8.7.S2K-Mode

Thuật toán S2K nào sẽ sử dụng.


Giá trị:
0-Không có muối.
1-với muối nhưng với số lần lặp cố định.
3-Số lần lặp biến.
Mặc định: 3
Áp dụng cho: pgp_sym_encrypt

F.25.3.8.8.S2K-Count

Số lần lặp của thuật toán S2K để sử dụng. Nó phải là một giá trị giữa 1024 đến 65011712, bao gồm.


Mặc định: Giá trị ngẫu nhiên giữa 65536 và 253952
Áp dụng cho: pgp_sym_encrypt, chỉ với s2k-mode = 3

F.25.3.8.9.S2K-Digest-Algo

Thuật toán tiêu tỷ lệ kèo bóng đá nào sẽ sử dụng trong tính toán S2K.


Giá trị: MD5, SHA1
Mặc định: SHA1
Áp dụng cho: pgp_sym_encrypt

F.25.3.8.10.S2K-bánh-a-Algo

tỷ lệ kèo bóng đá mã nào sẽ sử dụng để mã hóa khóa phiên riêng biệt.


Giá trị: BF, AES, AES128, AES192, AES256
Mặc định: Sử dụng tỷ lệ kèo bóng đá mã-Algo
Áp dụng cho: pgp_sym_encrypt

F.25.3.8.11.Unicode-mode

Có nên chuyển đổi dữ tỷ lệ kèo bóng đá văn bản từ mã hóa nội bộ cơ sở dữ tỷ lệ kèo bóng đá sang UTF-8 và trở lại. Nếu cơ sở dữ tỷ lệ kèo bóng đá của bạn đã được UTF-8, sẽ không có chuyển đổi nào được thực hiện, nhưng thông báo sẽ được gắn thẻ là UTF-8.


Giá trị: 0, 1
Mặc định: 0
Áp dụng cho: pgp_sym_encrypt, pgp_pub_encrypt

F.25.3.9.Tạo tỷ lệ kèo bóng đá phím PGP với gnupg

Để tạo tỷ lệ kèo bóng đá mới:

GPG --Gen-Key

Loại tỷ lệ kèo bóng đá ưa thích làDSA và Elgamal.

45557_45679GPG --edit-key.

để liệt kê tỷ lệ kèo bóng đá khóa:

GPG-List-Secret-Keys

Để xuất một tỷ lệ kèo bóng đá công khai ở định dạng ASCII-Armat:

GPG -A --Export keyid public.key

Để xuất một khóa bí tỷ lệ kèo bóng đá ở định dạng ASCII-Armat:

GPG -A --Export-secret-keys keyid secret.key

Bạn cần sử dụngDearmor ()Trên các khóa này trước khi đưa chúng cho các chức năng PGP. Hoặc nếu bạn có thể xử lý dữ tỷ lệ kèo bóng đá nhị phân, bạn có thể bỏ-ATừ lệnh.

Để biết thêm chi tiết, xemMAN GPG,Cẩm nang bảo tỷ lệ kèo bóng đá GNUvà tài tỷ lệ kèo bóng đá khác trênhttps: //www.gnupg.org/.

F.25.3.10.Hạn chế của mã PGP

  • Không hỗ trợ ký kết. Điều đó cũng có nghĩa là nó không được kiểm tra xem tỷ lệ kèo bóng đá phụ mã hóa thuộc về khóa chính.

  • Không hỗ trợ khóa mã tỷ lệ kèo bóng đá làm khóa chính. Vì thực tế như vậy thường không được khuyến khích, điều này không phải là một vấn đề.

  • Không hỗ trợ cho một số SubKeys. Điều này có vẻ như là một vấn đề, vì đây là thực tế phổ biến.pgcrypto, nhưng tạo ra những cái mới, vì kịch bản sử dụng khá khác nhau.

F.25.4.Chức năng mã tỷ lệ kèo bóng đá thô

Các chức năng này chỉ chạy một mật mã trên dữ tỷ lệ kèo bóng đá; Họ không có bất kỳ tính năng nâng cao nào của mã hóa PGP.

  1. Họ sử dụng khóa người dùng trực tiếp làm khóa tỷ lệ kèo bóng đá mã.

  2. Họ không cung cấp bất kỳ kiểm tra tính toàn vẹn nào, để xem tỷ lệ kèo bóng đá dữ tỷ lệ kèo bóng đá được mã hóa có được sửa đổi không.

  3. Họ hy vọng rằng người dùng tự quản lý tất cả tỷ lệ kèo bóng đá tham số mã hóa, thậm chí IV.

  4. Họ không xử lý văn bản.

Vì vậy, với việc giới thiệu mã hóa PGP, việc sử dụng tỷ lệ kèo bóng đá hàm mã hóa thô không được khuyến khích.

mã hóa (dữ tỷ lệ kèo bóng đá bytea, bytea khóa, loại văn bản) trả về bytea

mã hóa/giải mã dữ tỷ lệ kèo bóng đá bằng phương pháp mật mã được chỉ định bởiloại. Cú pháp củaloạiChuỗi là:

Thuật toán[ - Mode ] [ /pad: Padding ]

WHEREThuật toánlà một trong số:

  • bf- Fishfish

  • AES-AES (Rijndael -128, -192 hoặc -256)

Modelà một trong:

  • CBC- Khối tiếp theo phụ thuộc vào trước (mặc định)

  • ECB- Mỗi khối được mã tỷ lệ kèo bóng đá riêng biệt (chỉ để kiểm tra)

Paddinglà một trong:

  • PKCS- Dữ tỷ lệ kèo bóng đá có thể là bất kỳ độ dài nào (mặc định)

  • Không- Dữ tỷ lệ kèo bóng đá phải là bội số của kích thước khối mật mã

Vì vậy, ví dụ, đây là tương đương:

mã hóa (dữ tỷ lệ kèo bóng đá, 'fooz', 'bf'))

inencrypt_ivdecrypt_iv, TheIVtham số là giá trị ban đầu cho chế độ CBC; Nó bị bỏ qua cho ECB.

F.25.5.Chức năng dữ tỷ lệ kèo bóng đá ngẫu nhiên

GEN_RANDOM_BYTES (Số nguyên đếm) Trả về bytea

returnĐếmByte ngẫu nhiên mạnh về mặt tỷ lệ kèo bóng đá mã. Nhiều nhất 1024 byte có thể được trích xuất tại một thời điểm.

GEN_RANDOM_UUID () trả về UUID

Trả về phiên bản 4 (ngẫu nhiên) UUID.

F.25.6.Ghi chú

F.25.6.1.Cấu hình

pgcryptoĐịnh cấu hình theo những phát hiện của PostgreSQL chínhCấu hìnhtập lệnh. tỷ lệ kèo bóng đá tùy chọn ảnh hưởng đến nó là--with-zlib--with-opensssl.

Khi được biên dịch với ZLIB, các hàm mã hóa PGP có thể nén dữ tỷ lệ kèo bóng đá trước khi mã hóa.

Khi được biên dịch với OpenSSL, sẽ có nhiều thuật toán hơn. Ngoài ra tỷ lệ kèo bóng đá chức năng mã hóa khóa công khai sẽ nhanh hơn vì OpenSSL có tỷ lệ kèo bóng đá chức năng Bignum được tối ưu hóa hơn.

Bảng F.19.Tóm tắt chức năng có và không có openSSL

chức năng tích hợp với OpenSSL
MD5
SHA1
SHA224/256/384/512
Thuật toán tiêu tỷ lệ kèo bóng đá khác Không Có (Lưu ý 1)
Blowfish
AES
DES/3DES/CAST5 Không
Mã tỷ lệ kèo bóng đá thô
Mã tỷ lệ kèo bóng đá đối xứng PGP
PGP Public-Key Encryption

Khi được tổng hợp vớiOpenSSL3.0.0 và tỷ lệ kèo bóng đá phiên bản sau, nhà cung cấp di sản phải được kích hoạt trongopenSSL.cnfTệp cấu hình để sử dụng tỷ lệ kèo bóng đá mật mã cũ hơn như des hoặc blowfish.

ghi chú:

  1. Bất kỳ thuật toán tiêu hóa nào hỗ trợ OpenSSL đều được tự động chọn. Điều này là không thể với tỷ lệ kèo bóng đá mật mã, cần được hỗ trợ rõ ràng.

F.25.6.2.Xử lý NULL

Theo tiêu chuẩn trong SQL, tất cả tỷ lệ kèo bóng đá chức năng trả về null, nếu bất kỳ đối số nào là null. Điều này có thể tạo ra rủi ro bảo mật cho việc sử dụng bất cẩn.

F.25.6.3.Giới hạn bảo tỷ lệ kèo bóng đá

tất cảPGCRYPTOCác chức năng chạy bên trong máy chủ cơ sở dữ tỷ lệ kèo bóng đá. Điều đó có nghĩa là tất cả dữ tỷ lệ kèo bóng đá và mật khẩu di chuyển giữapgcryptovà ứng dụng khách trong văn bản rõ ràng. Do đó bạn phải:

  1. Kết nối cục bộ hoặc sử dụng tỷ lệ kèo bóng đá kết nối SSL.

  2. Tin tưởng cả quản trị viên hệ thống và cơ sở dữ tỷ lệ kèo bóng đá.

Nếu bạn không thể, thì tốt hơn nên làm tiền điện tử bên trong ứng dụng máy khách.

Việc triển khai không chống lạiTấn công kênh phụ. Ví dụ: thời gian cần thiết cho mộtPGCRYPTOHàm giải mã để hoàn thành khác nhau giữa tỷ lệ kèo bóng đá mã hóa có kích thước nhất định.

F.25.6.4.Đọc hữu ích

F.25.6.5.Tài tỷ lệ kèo bóng đá tham khảo kỹ thuật

F.25.7.Tác giả

Marko Kreen

pgcryptoSử dụng mã từ tỷ lệ kèo bóng đá nguồn sau:

Thuật toán tác giả Nguồn gốc
DES Crypt David Burren và những người khác freeBSD libcrypt
MD5 Crypt Poul-Henning Kamp Freebsd libcrypt
Crypt Fishfish Nhà thiết kế năng lượng mặt trời www.openwall.com
tỷ lệ kèo bóng đá mã cá Simon Tatham Putty
Rijndael tỷ lệ kèo bóng đá mã Brian Gladman OpenBSD Sys/Crypto
MD5 Hash và SHA1 Dự án rộng KAME KAME/SYS/CRYPTO
SHA256/384/512 Aaron D. Gifford OpenBSD Sys/Crypto
Bignum Math Michael J. Fromberger Dartmouth.edu/~sting/sw/imath