Python yêu cầu hmac
Nó hoạt động bằng cách cung cấp trình xác thực tùy chỉnh cho thư viện Yêu cầu sửa đổi các lệnh gọi API gửi đi để mã hóa các yêu cầu xác thực HMAC Bắt đầuĐể cài đặt pip install python-hmac-auth Trong mã của bạn, hãy nhập lớp import requests from python_hmac_auth import HmacAuth response = requests.get('http://example.com/api', auth=HmacAuth('your_api_key', 'your_secret_key')) Nếu cần, bạn có thể điều chỉnh tên của tham số truy vấn và tiêu đề được HMAC sử dụng bằng cách chuyển các giá trị cho
Xem Hướng dẫn sử dụng để tìm tên mặc định cho các tiêu đề này Các thay đổi trong ứng dụng khách cũng phải được thực hiện tại máy chủ, nếu không xác thực sẽ không hoạt động Hướng dẫn sử dụngXem Hướng dẫn sử dụng cho jersey-hmac-auth để biết thêm chi tiết về xác thực HMAC trên máy chủ và cho các thư viện máy khách Trả về một đối tượng hmac mới. khóa là một đối tượng byte hoặc bytearray cung cấp khóa bí mật. Nếu có thông báo, cuộc gọi phương thức Đã thay đổi trong phiên bản 3. 4. Khóa tham số có thể là đối tượng byte hoặc bytearray. Thông điệp tham số có thể thuộc bất kỳ loại nào được hỗ trợ bởi. Thông số digestmod có thể là tên của một thuật toán băm. Không dùng nữa kể từ phiên bản 3. 4, đã bị xóa trong phiên bản 3. 8. MD5 dưới dạng thông báo mặc định ngầm định cho digestmod không được dùng nữa. Thông số digestmod hiện được yêu cầu. Chuyển nó dưới dạng đối số từ khóa để tránh khó xử khi bạn không có thông báo ban đầu. hmac. thông báo(key , tin nhắn , tiêu hóa)Trả lại thông báo tóm tắt cho khóa bí mật đã cho và thông báo. Hàm này tương đương với Chi tiết triển khai CPython, triển khai C được tối ưu hóa chỉ được sử dụng khi thông báo là một chuỗi và tên của thuật toán thông báo, được hỗ trợ bởi OpenSSL Mới trong phiên bản 3. 7 Một đối tượng HMAC có các phương thức sau HMAC. cập nhật(tin nhắn)Cập nhật đối tượng hmac bằng msg. Các cuộc gọi lặp lại tương đương với một cuộc gọi duy nhất với sự nối của tất cả các đối số. Đã thay đổi trong phiên bản 3. 4. Thông điệp tham số có thể thuộc bất kỳ loại nào được hỗ trợ bởi. Trả lại thông báo của các byte được truyền cho phương thức cho đến nay. Đối tượng byte này sẽ có cùng độ dài với digest_size của thông báo được cung cấp cho hàm tạo. Nó có thể chứa các byte không phải ASCII, bao gồm các byte NUL Cảnh báo Khi so sánh đầu ra của với thông báo được cung cấp bên ngoài trong quy trình xác minh, bạn nên sử dụng hàm thay vì toán tử Giống như ngoại trừ thông báo được trả về dưới dạng một chuỗi dài gấp đôi chỉ chứa các chữ số thập lục phân. Điều này có thể được sử dụng để trao đổi giá trị một cách an toàn trong email hoặc các môi trường phi nhị phân khác Cảnh báo Khi so sánh đầu ra của với thông báo được cung cấp bên ngoài trong quy trình xác minh, bạn nên sử dụng hàm thay vì toán tử Trả về một bản sao (“bản sao”) của đối tượng hmac. Điều này có thể được sử dụng để tính toán hiệu quả các bản tóm tắt của các chuỗi chia sẻ một chuỗi con ban đầu chung Một đối tượng băm có các thuộc tính sau HMAC. tiêu hóa_sizeKích thước của bản tóm tắt HMAC kết quả tính bằng byte Kích thước khối bên trong của thuật toán băm tính bằng byte Mới trong phiên bản 3. 4 HMAC. TênTên chuẩn của HMAC này, luôn viết thường, e. g. Mới trong phiên bản 3. 4 Không dùng nữa kể từ phiên bản 3. 9. Các thuộc tính không có giấy tờ Mô-đun này cũng cung cấp chức năng trợ giúp sau hmac. so sánh_digest(a , b)Trả lại Ghi chú Nếu a và b có độ dài khác nhau hoặc nếu xảy ra lỗi, thì về mặt lý thuyết, một cuộc tấn công theo thời gian có thể tiết lộ thông tin về loại và độ dài của a và b—nhưng không tiết lộ giá trị của chúng |