Tôi cần một số gợi ý hoặc một ví dụ thực tế về cách mã hóa một int đến một int khác, và một khóa bí mật sẽ được yêu cầu để giải mã giá trị.Số nguyên đối xứng để mã hóa số nguyên
Cái gì như:
encrypt(1, "secret key") == 67123571122
decrypt(67123571122, "secret key") == 1
anh chàng này yêu cầu khá nhiều câu hỏi tương tự: Symmetric Bijective Algorithm for Integers
tuy nhiên tôi trở thành một tổng mã hóa "n00b" Tôi muốn một số ví dụ thực tế hơn, trong python nếu có thể.
Tôi hiểu rằng tôi cần phải sử dụng một số loại mã khối, nhưng tôi khá mất trên một phần về việc giữ gìn kết quả mã hóa vẫn có dạng số và hơi ngắn (có thể là một dài thay vì một int)
Bất kỳ con trỏ? Cảm ơn
CẬP NHẬT- Tại sao tôi muốn thực hiện việc này?
Tôi có một dịch vụ web, nơi từng "đối tượng" được một URL, ví dụ .: example.com/thing/123456/
Ngay bây giờ, những ID là tuần tự. Tôi muốn che giấu thực tế rằng chúng là tuần tự (ID cơ sở dữ liệu).
Nội dung trên các trang đó không phải là "bí mật hàng đầu" hoặc bất kỳ thứ gì giống như vậy, nhưng không dễ để ai đó lẻn vào một số đối tượng ngẫu nhiên khác như chỉ tăng ID đó trong URL.
Vì vậy, với một số loại mã hóa số hai chiều, ID URL sẽ không được tuần tự chút nào và sẽ mất một chút thời gian để tìm thêm các đối tượng này. (Ngoài ra, các yêu cầu được điều chỉnh)
Và lý do duy nhất tôi muốn giữ số này thay vì chuỗi tùy ý là thay đổi là tổng thay thế và mọi thứ sẽ hoạt động mà không cần bất kỳ thay đổi mã nào khác.
Ngoài ra, tôi không thể tạo ID cơ sở dữ liệu ngẫu nhiên mới. Tôi phải xử lý mã hóa/giải mã này trong ứng dụng.
Tại sao bạn làm điều này? Mục tiêu là gì? Rất nguy hiểm khi tạo mật mã của riêng bạn. Ngay cả những thứ đơn giản như “chỉ sử dụng thuật toán mã hóa X” cũng có thể có các nhánh bảo mật bất ngờ. –
Điểm tốt. Tôi đã cập nhật câu hỏi – adamJLev
[Định dạng mã hóa bảo quản] (http://en.wikipedia.org/wiki/Format-preserving_encryption) –