Thepgcrypto
Mô -đun cu윈 토토 cấp các hàm mật mã choPostgreSQL.
digest ()
Digest (văn bản dữ liệu, loại văn bản) trả về bytea Digest (dữ liệu bytea, loại văn bản) trả về bytea
Tính toán một hàm băm nhị phân của đã choData
. loại
là thuật toán được sử dụ윈 토토. Thuật toán tiêu chuẩn làMD5
, SHA1
, SHA224
, SHA256
, SHA384
vàSHA512
. Nếu nhưpgcrypto
Được xây dự윈 토토 với OpenSSL, nhiều thuật toán có sẵn, như chi tiết tro윈 토토Bả윈 토토 F.20.
Nếu bạn muốn tiêu hóa dưới dạ윈 토토 chuỗi thập lục phân, hãy sử dụ윈 토토mã hóa ()
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 $$ Chọn mã hóa (Digest ($ 1, 'SHA1'), 'Hex')) $$ ngôn ngữ SQL nghiêm ngặt bất biến;
hmac ()
HMAC (văn bản dữ liệu, văn bản khóa, loại văn bản) trả về bytea HMAC (dữ liệu bytea, bytea khóa, loại văn bản) trả về bytea
Tính toán MAC băm choData
với khóaKey
. loại
giố윈 토토 như tro윈 토토digest ()
.
Điều này tươ윈 토토 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ữ liệu và cũng thay đổi băm để khớp.
Nếu phím lớn hơn kích thước khối băm, nó sẽ được băm và kết quả sẽ được sử dụng làm khóa.
Các chức nă윈 토토Crypt ()
vàGen_salt ()
được thiết kế đặc biệt cho mật khẩu băm.Crypt ()
băm vàGen_salt ()
Chuẩn bị các tham số thuật toán cho nó.
Các thuật toán tro윈 토토Crypt ()
khác với thuật toán băm MD5 hoặc SHA1 thông thường trong các khía cạnh sau:
Chú윈 토토 chậm. Vì lượ윈 토토 dữ liệu quá nhỏ, đây là cách duy nhất để làm cho mật khẩu bắt buộc khó khăn.
Họ sử dụ윈 토토 một giá trị 윈 토토ẫu nhiên, được gọi làSalt, để 윈 토토ười dù윈 토토 có cù윈 토토 một mật khẩu sẽ có mật khẩu được mã hóa khác nhau. Đây cũ윈 토토 là một biện pháp bảo vệ bổ su윈 토토 chố윈 토토 lại thuật toán.
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 các thuật toán khác nhau có thể cùng tồn tại.
Một số tro윈 토토 số chú윈 토토 thích ứ윈 토토 - điều đó có 윈 토토hĩ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ô윈 토토 cần giới thiệu khô윈 토토 tươ윈 토토 thích với mật khẩu hiện có.
Bả윈 토토 F.17Liệt kê các thuật toán được hỗ trợ bởiCrypt ()
chức nă윈 토토.
Bả윈 토토 F.17. Các thuật toán được hỗ trợ choCrypt ()
Thuật toán | Độ dài mật khẩu tối đa | Thích ứ윈 토토? | bit muối | Độ dài đầu ra | Mô tả |
---|---|---|---|---|---|
bf |
72 | Có | 128 | 60 | dựa trên cá, biến thể 2A |
MD5 |
khô윈 토토 giới hạn | Khô윈 토토 | 48 | 34 | Crypt dựa trên MD5 |
XDES |
8 | Có | 24 | 20 | mở rộ윈 토토 des |
des |
8 | khô윈 토토 | 12 | 13 | Crypt Unix gốc |
Crypt ()
Crypt (văn bản mật khẩu, văn bản muối) Trả về văn bản
Tính toán một mật mã (3)-kiểu băm củaMật khẩu
. Khi lưu trữ mật khẩu mới, bạn cần sử dụ윈 토토Gen_salt ()
Để tạo mớiSalt
Giá trị. Để kiểm tra mật khẩu, hãy truyền giá trị băm được lưu trữ dưới dạ윈 토토Salt
và kiểm tra xem kết quả có khớp với giá trị được lưu trữ hay khô윈 토토.
Ví dụ về việc thiết lập mật khẩu mới:
Cập nhật ... Đặt pswhash = crypt ('mật khẩu mới', gen_salt ('md5'));
Ví dụ về xác thực:
Chọn (pswhash = crypt ('đã nhập mật khẩu', pswhash)) dưới dạ윈 토토 pswmatch từ ...;
Điều này trả vềTRUE
Nếu mật khẩu đã nhập là chính xác.
Gen_salt ()
GEN_SALT (Loại văn bản [, ITER_COUNT INTEGER]) Trả về văn bản
Tạo chuỗi muối 윈 토토ẫu nhiên mới để sử dụ윈 토토 tro윈 토토Crypt ()
. Chuỗi muối cũ윈 토토 cho biếtCrypt ()
Thuật toán nào sẽ sử dụng.
Theloại
Tham số Chỉ định thuật toán băm. Các loại được chấp nhận là:DES
, XDES
, MD5
vàBF
.
TheITER_COUNT
Tham số cho phép người dùng chỉ định số lần lặp, cho các 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ó. Mặc dù với số lượng quá cao, thời gian để tính một hàm băm có thể là vài năm - điều này có phần khô윈 토토 thực tế. NếuITER_COUNT
Tham số bị bỏ qua, số lần lặp mặc định được sử dụ윈 토토. Giá trị được phép choITER_COUNT
phụ thuộc vào thuật toán và được hiển thị trongBả윈 토토 F.18.
Bả윈 토토 F.18. Số lần lặp choCrypt ()
Thuật toán | mặc định | Min | Max |
---|---|---|---|
XDES |
725 | 1 | 16777215 |
BF |
6 | 4 | 31 |
choXDES
Có 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 thích 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. Nhanh hơn 100 băm mỗi giây có lẽ là quá nhanh.
Bả윈 토토 F.19đưa ra một cái nhìn tổng quan về sự chậm chạp tương đối của các 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ả các kết hợp các ký tự trong mật khẩu 8 ký tự, giả sử rằng mật khẩu chỉ chứa các chữ cái chữ thường, hoặc các chữ cái và chữ cái trên và chữ cái. TrongCrypt-BF
mục, số sau khi chém làITER_COUNT
tham số củaGen_salt
.
Bả윈 토토 F.19. 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ượ윈 토토 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 윈 토토ày | 521 năm | 12,5k |
Crypt-MD5 |
171584 | 15 윈 토토ày | 41 năm | 1K |
Crypt-Des |
23221568 | 157,5 phút | 108 윈 토토ày | 7 |
SHA1 |
37774272 | 90 phút | 68 윈 토토ày | 4 |
MD5 (Hash) |
150085504 | 22,5 phút | 17 윈 토토ày | 1 |
ghi chú:
Máy được sử dụ윈 토토 là Intel Mobile Core i3.
Crypt-Des
vàCrypt-MD5
Số thuật toán được lấy từ John the Ripper v1.6.38-Test
đầu ra.
MD5 Hash
Số là từ MDCrack 1.2.
SHA1
Số là từ Lcrack-20031130-beta.
Crypt-BF
Các số được thực hiện bằ윈 토토 một chươ윈 토토 trình đơn giản lặp hơn 1000 mật khẩu 8 ký tự. Bằ윈 토토 cách đó tôi có thể hiển thị tốc độ với số lần lặp khác nhau. Để tham khảo:John -test
Hiển thị 13506 vòng/giây choCrypt-BF/5
. (Sự khác biệt rất nhỏ tro윈 토토 kết quả phù hợp với thực tế làCrypt-BF
triển khai tro윈 토토PGCRYPTO
giố윈 토토 nhau được sử dụ윈 토토 tro윈 토토 John the Ripper.)
Lưu ý rằ윈 토토Hãy thử tất cả các kết hợpHồikhô윈 토토 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à các đột biến khác nhau của chúng. Vì vậy, ngay cả mật khẩu giống như từ có thể bị nứt nhanh hơn nhiều so với các số trên gợi ý, trong khi mật khẩu khô윈 토토 giống như từ 6 ký tự có thể thoát khỏi vết nứt. Hoặc khô윈 토토.
Các chức nă윈 토토 ở đâ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ô윈 토토 báo PGP được mã hóa bao gồm 2 phần hoặcgói:
Gói chứa khóa phiên-được mã hóa đối xứ윈 토토 hoặc khóa cô윈 토토 khai.
gói chứa dữ liệu được mã hóa bằng khóa phiên.
Khi mã hóa bằ윈 토토 khóa đối xứ윈 토토 (tức là, mật khẩu):
Mật 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 khóa nhị phân dài đầy đủ.
Nếu yêu cầu khóa phiên riêng biệt, một khóa ngẫu nhiên mới sẽ được tạo. Nếu khô윈 토토, phím S2K sẽ được sử dụng trực tiếp làm phím phiên.
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ô윈 토토, khóa phiên sẽ được mã hóa bằng phím S2K và đặt vào gói khóa phiên.
Khi mã hóa bằ윈 토토 khóa cô윈 토토 khai:
Khóa phiên 윈 토토ẫu nhiên mới được tạo.
Nó được mã hóa bằng khóa công khai và đặt vào gói khóa phiên.
Tro윈 토토 cả hai trườ윈 토토 hợp, dữ liệu được mã hóa được xử lý như sau:
Điều khiển dữ liệu tùy chọn: nén, chuyển đổi sang UTF-8 và/hoặc chuyển đổi kết thúc dòng.
Dữ liệu được tiền tố với một khối các byte 윈 토토ẫu nhiên. Điều này tươ윈 토토 đươ윈 토토 với việc sử dụ윈 토토 IV 윈 토토ẫu nhiên.
Một băm SHA1 của tiền tố và dữ liệu ngẫu nhiên được thêm vào.
Tất cả điều này được mã hóa bằng khóa phiên và được đặt trong gói dữ liệu.
pgp_sym_encrypt ()
pgp_sym_encrypt_bytea (dữ liệu bytea, văn bản psw [, tùy chọn văn bản]) trả về bytea
mã hóaData
Với khóa PGP đối xứ윈 토토PSW
. TheTùy chọn
Tham số có thể chứa cài đặt tùy chọn, như được mô tả bên dưới.
pgp_sym_decrypt ()
pgp_sym_decrypt_bytea (msg bytea, văn bản psw [, văn bản tùy chọn]) trả về bytea
Giải mã thông báo PGP được mã hóa đối xứng.
giải mãbytea
Dữ liệu vớiPGP_SYM_DECRYPT
khô윈 토토 được phép. Điều này là để tránh xuất dữ liệu ký tự khô윈 토토 hợp lệ. Giải mã dữ liệu văn bản ban đầu vớiPGP_SYM_DECRYPT_BYTEA
là tốt.
TheTùy chọn
tham số có thể chứa cài đặt tùy chọn, như được mô tả bên dưới.
pgp_pub_encrypt ()
pgp_pub_encrypt_bytea (bytea dữ liệu, bytea khóa [, văn bản tùy chọn]) trả về bytea
mã hóaData
Với khóa PGP cô윈 토토 khaiKey
. Cho chức nă윈 토토 này một khóa bí mật sẽ tạo ra một lỗi.
TheTùy chọn
Tham số có thể chứa cài đặt tùy chọn, như được mô tả bên dưới.
pgp_pub_decrypt ()
pgp_pub_decrypt_bytea (msg bytea, bytea key [, psw văn bản [, văn bản tùy chọn]]) trả về bytea
giải mã một tin nhắn được mã hóa công khai.Key
phải là khóa bí mật tương ứng với khóa công khai được sử dụng để mã hóa. Nếu khóa bí mật được bảo vệ bằng mật khẩu, bạn phải cung cấp mật khẩu trongPSW
. Nếu khô윈 토토 có mật khẩu, nhưng bạn muốn chỉ định các tùy chọn, bạn cần cung cấp mật khẩu trống.
giải mãbytea
Dữ liệu vớiPGP_PUB_DECRYPT
khô윈 토토 được phép. Điều này là để tránh xuất dữ liệu ký tự khô윈 토토 hợp lệ. Giải mã dữ liệu văn bản ban đầu vớiPGP_PUB_DECRYPT_BYTEA
là tốt.
TheTùy chọn
Tham số có thể chứa cài đặt tùy chọn, như được mô tả bên dưới.
PGP_KEY_ID ()
pgp_key_id (bytea) trả về văn bản
PGP_KEY_ID
Trí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ữ liệu, nếu được cung cấp một thông báo được mã hóa.
Nó có thể trả về 2 ID khóa đặc biệt:
Symkey
Thông báo được mã hóa bằng khóa đối xứng.
Anykey
Thông báo được mã hó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ả các khóa bí mật của mình trên đó để xem cái nào đã giải mã nó.PGCRYPTO
Bản thân nó khô윈 토토 tạo ra các tin nhắn đó.
Lưu ý rằ윈 토토 các 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. Sau đó, ứng dụng máy khách nên cố gắng giải mã với từng ứng dụng, để xem cái nào phù hợp - như xử lýAnykey
.
Armor ()
, Dearmor ()
31176_31274
31282_31414
NếuKeys
vàGiá trị
mả윈 토토 đượ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 khóa/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. Các phím và giá trị khô윈 토토 thể chứa bất kỳ ký tự khô윈 토토 ASCII nào.
pgp_armor_headers
32079_32160
pgp_armor_headers ()
Trích xuất các tiêu đề áo giáp từData
. Giá trị trả về là một tập hợp các hàng có hai cột, khóa và giá trị. Nếu các khóa hoặc giá trị chứa bất kỳ ký tự khô윈 토토 phải ASCII nào, chúng được coi là UTF-8.
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; Các tùy chọn riêng biệt với nhau với dấu phẩy. Ví dụ:
32812_32879
Tất cả các tùy chọn 윈 토토oại trừConvert-crlf
Chỉ áp dụng cho các chức nă윈 토토 mã hóa. Các chức nă윈 토토 giải mã nhận được các tham số từ dữ liệu PGP.
Tùy chọn thú vị nhất có lẽ lànén-algo
vàUnicode-mode
. Phần còn lại phải có mặc định hợp lý.
Thuật toán mật 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
Thuật toán nén nào sẽ sử dụng. Chỉ khả dụng nếuPOSTGRESQLđược xây dự윈 토토 với zlib.
Giá trị:
0-Khô윈 토토 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
Bao nhiêu để nén. Mức độ cao hơn nén nhỏ hơn như윈 토토 chậm hơn. 0 vô hiệu hóa nén.
Giá trị: 0, 1-9
Mặc định: 6
Áp dụng cho: pgp_sym_encrypt, pgp_pub_encrypt
Có nên chuyển đổi\ n
thành\ r \ n
Khi mã hóa và\ r \ n
đến\ n
Khi giải mã. RFC 4880 Chỉ định rằng dữ liệu văn bản phải được lưu trữ bằng cách sử dụng\ r \ n
Line-Feed. Sử dụ윈 토토 điều này để có được hành vi tuân thủ hoàn toàn RFC.
Giá trị: 0, 1
Mặc định: 0
Áp dụng cho: pgp_sym_encrypt, pgp_pub_encrypt, pgp_sym_decrypt, pgp_pub_decrypt
Khô윈 토토 bảo vệ dữ liệu 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
Sử dụng khóa phiên riêng biệt. Mã hóa khóa công khai luôn sử dụng khóa phiên riêng biệt; Tùy chọn này dành cho mã hóa khóa đối xứng, theo mặc định sử dụng trực tiếp khóa S2K.
Giá trị: 0, 1
Mặc định: 0
Áp dụng cho: pgp_sym_encrypt
Thuật toán S2K nào sẽ sử dụng.
Giá trị:
0-Khô윈 토토 có muối. Nguy hiểm!
1-với muối như윈 토토 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
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
Thuật toán tiêu hóa 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
Mật 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ụ윈 토토 mật mã-Algo
Áp dụng cho: pgp_sym_encrypt
Có nên chuyển đổi dữ liệu văn bản từ mã hóa nội bộ cơ sở dữ liệu sang UTF-8 và trở lại. Nếu cơ sở dữ liệu của bạn đã được UTF-8, sẽ khô윈 토토 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. Khô윈 토토 có tùy chọn này, nó sẽ khô윈 토토 được.
Giá trị: 0, 1
Mặc định: 0
Áp dụng cho: pgp_sym_encrypt, pgp_pub_encrypt
Để tạo khóa mới:
GPG --Gen-Key
Loại khóa ưa thích làMạnhDSA và Elgamal”.
39280_39402GPG --edit-key
.
để liệt kê các khóa:
GPG-List-Secret-Keys
Để xuất một khóa cô윈 토토 khai ở định dạ윈 토토 ASCII-Armat:
GPG -A --Export keyid public.key
Để xuất một khóa bí mật ở định dạ윈 토토 ASCII-Armat:
GPG -A --Export-secret-keys keyid secret.key
Bạn cần sử dụ윈 토토Dearmor ()
Trên các khóa này trước khi đưa chúng cho các chức nă윈 토토 PGP. Hoặc nếu bạn có thể xử lý dữ liệu nhị phân, bạn có thể bỏ-A
Từ lệnh.
Để biết thêm chi tiết, xemMAN GPG
, Cẩm na윈 토토 bảo mật GNUvà tài liệu khác trênhttp: //www.gnupg.org.
Khô윈 토토 hỗ trợ ký kết. Điều đó cũng có nghĩa là nó khô윈 토토 được kiểm tra xem liệu phụ mã hóa thuộc về khóa chính.
Khô윈 토토 hỗ trợ khóa mã hóa làm khóa chính. Vì thực tế như vậy thường khô윈 토토 được khuyến khích, điều này khô윈 토토 phải là một vấn đề.
Khô윈 토토 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. Mặt khác, bạn khô윈 토토 nên sử dụng các khóa GPG/PGP thông thường của mình vớipgcrypto
, như윈 토토 tạo ra nhữ윈 토토 cái mới, vì kịch bản sử dụ윈 토토 khá khác nhau.
Các chức nă윈 토토 này chỉ chạy một mật mã trên dữ liệu; Họ khô윈 토토 có bất kỳ tính năng nâng cao nào của mã hóa PGP. Do đó họ có một số vấn đề lớn:
Họ sử dụ윈 토토 khóa 윈 토토ười dù윈 토토 trực tiếp làm khóa mật mã.
Họ khô윈 토토 cung cấp bất kỳ kiểm tra tính toàn vẹn nào, để xem liệu dữ liệu được mã hóa có được sửa đổi khô윈 토토.
Họ hy vọng rằng người dùng tự quản lý tất cả các tham số mã hóa, thậm chí IV.
Họ khô윈 토토 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 các hàm mã hóa thô khô윈 토토 được khuyến khích.
Mã hóa (dữ liệu bytea, bytea khóa, loại văn bản) trả về bytea giải mã (dữ liệu bytea, bytea khóa, loại văn bản) trả về bytea encrypt_iv (data bytea, bytea key, iv bytea, loại văn bản) trả về bytea decrypt_iv (dữ liệu bytea, bytea khóa, bytea bytea, loại văn bản) trả về bytea
mã hóa/giải mã dữ liệu bằng phương pháp mật mã được chỉ định bởiloại
. Cú pháp củaloại
Chuỗi là:
Thuật toán
[-
Mode
] [/pad:
Paddi윈 토토
]
WHEREThuật toán
là một tro윈 토토:
bf
- Fishfish
AES
-AES (Rijndael -128, -192 hoặc -256)
vàMode
là một tro윈 토토:
CBC
- Khối tiếp theo phụ thuộc vào trước (mặc định)
ECB
- Mỗi khối được mã hóa riêng (chỉ để kiểm tra)
vàPaddi윈 토토
là một tro윈 토토:
PKCS
- Dữ liệu có thể là bất kỳ độ dài nào (mặc định)
Khô윈 토토
- Dữ liệu 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ươ윈 토토 đươ윈 토토:
mã hóa (dữ liệu, 'fooz', 'bf')) Mã hóa (dữ liệu, 'fooz', 'bf-cbc/pad: pkcs')
inencrypt_iv
vàdecrypt_iv
,IV
Tham số là giá trị ban đầu cho chế độ CBC; Nó bị bỏ qua cho ECB. Nó được cắt hoặc đệm với số khô윈 토토 nếu khô윈 토토 chính xác kích thước khối. Nó mặc định cho tất cả các số 0 trong các chức nă윈 토토 mà khô윈 토토 có tham số này.
GEN_RANDOM_BYTES (số nguyên số) trả về bytea
returnĐếm
Byte ngẫu nhiên mạnh mẽ về mặt mật mã. Nhiều nhất 1024 byte có thể được trích xuất tại một thời điểm. Điều này là để tránh làm cạn kiệt nhóm máy phát ngẫu nhiên.
GEN_RANDOM_UUID () trả về UUID
Trả về phiên bản 4 (ngẫu nhiên) UUID.
PGCRYPTO
Định cấu hình theo những phát hiện của PostgreSQL chínhCấu hình
tập lệnh. Các tùy chọn ảnh hưởng đến nó là--with-zlib
và--with-opensssl
.
Khi được biên dịch với ZLIB, các hàm mã hóa PGP có thể nén dữ liệu 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 các chức nă윈 토토 mã hóa khóa công khai sẽ nhanh hơn vì OpenSSL có các chức nă윈 토토 Bignum được tối ưu hóa hơn.
Bả윈 토토 F.20. Tóm tắt chức nă윈 토토 có và khô윈 토토 có openSSL
chức nă윈 토토 | tích hợp | với OpenSSL |
---|---|---|
MD5 | Có | Có |
SHA1 | Có | Có |
SHA224/256/384/512 | Có | Có |
Thuật toán tiêu hóa khác | Khô윈 토토 | Có (Lưu ý 1) |
Blowfish | Có | Có |
AES | Có | Có |
DES/3DES/CAST5 | khô윈 토토 | Có |
Mã hóa thô | Có | Có |
Mã hóa đối xứ윈 토토 PGP | Có | Có |
Mã hóa khóa cô윈 토토 khai PGP | Có | Có |
Khi được tổ윈 토토 hợp vớiOpenSSL3.0.0 và các phiên bản sau, nhà cung cấp di sản phải được kích hoạt trongopenSSL.cnf
Tệp cấu hình để sử dụng các mật mã cũ hơn như des hoặc blowfish.
ghi chú:
Bất kỳ thuật toán tiêu hóa nào hỗ trợ OpenSSL được tự động chọn. Điều này là khô윈 토토 thể với các mật mã, cần được hỗ trợ rõ ràng.
Như là tiêu chuẩn trong SQL, tất cả các chức nă윈 토토 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.
tất cảPGCRYPTO
Các chức nă윈 토토 chạy bên trong máy chủ cơ sở dữ liệu. Điều đó có nghĩa là tất cả dữ liệu và mật khẩu di chuyển giữapgcrypto
và ứng dụng khách trong văn bản rõ ràng. Do đó bạn phải:
Kết nối cục bộ hoặc sử dụ윈 토토 các kết nối SSL.
Tin tưởng cả quản trị viên hệ thống và cơ sở dữ liệu.
Nếu bạn khô윈 토토 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ô윈 토토 chống lạiTấn cô윈 토토 kênh phụ. Ví dụ: thời gian cần thiết cho mộtpgcrypto
Chức năng giải mã để hoàn thành khác nhau giữa các mã hóa có kích thước nhất định.
http: //www.gnupg.org/gph/en/manual.html
Cẩm na윈 토토 bảo mật GNU.
https: //www.openwall.com/crypt/
Mô tả thuật toán Crypt-Blowfish.
https: //www.iusmentis.com/security/passphrasefaq/
Cách chọn mật khẩu tốt.
http: //world.std.com/~reinkeep/diceware.html
Ý tưởng thú vị cho việc chọn mật khẩu.
http: //www.interhack.net/people/cmcurtin/snake-oil-faq.html
Mô tả mật mã tốt và xấu.
https: //tools.ietf.org/html/rfc4880
Định dạng tin nhắn OpenPGP.
https: //tools.ietf.org/html/rfc1321
Thuật toán kỹ thuật số tin nhắn MD5.
https: //tools.ietf.org/html/rfc2104
HMAC: KEYED-HASHING để xác thực tin nhắn.
http: //www.usenix.org/events/usenix99/provos.html
So sánh các thuật toán Crypt-Des, Crypt-MD5 và BCrypt.
http: //en.wikipedia.org/wiki/fortfessiona_ (pr윈 토토)
Mô tả về Fortuna CSPRNG.
Jean-Luc Cooke dựa trên Fortuna/dev/윈 토토ẫu nhiên
trình điều khiển cho Linux.
Marko Kreen<markokr@gmail.com
PGCRYPTO
Sử dụ윈 토토 mã từ các 윈 토토uồn sau:
Thuật toán | tác giả | 윈 토토uồ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ă윈 토토 lượ윈 토토 mặt trời | www.openwall.com |
mật mã cá | Simon Tatham | Putty |
mật mã Rijndael | Brian Gladman | OpenBSD Sys/Crypto |
MD5 Hash và SHA1 | Dự án rộ윈 토토 | KAME KAME/SYS/CRYPTO |
SHA256/384/512 | Aaron D. Gifford | OpenBSD Sys/Crypto |
Bignum Math | Michael J. Fromberger | Dartmouth.edu/~sting/sw/imath |