Tôi đang cố gắng để có được một băm MD5 của một giá trị trong ColdFusion. Tôi đã thử mã này bằng cách sử dụng chức năng Encrypt :Làm thế nào tôi có thể nhận được một băm MD5 trong Coldfusion?
<cfscript>
val = 1117;
md5 = Encrypt(val, 0, "MD5", "Hex");
</cfscript>
Nhưng tôi nhận được một lỗi:
The MD5 algorithm is not supported by the Security Provider you have chosen.
Làm thế nào tôi có thể chọn một nhà cung cấp bảo mật khác nhau?
Vâng, tôi biết rằng MD5 không phải là một mã hóa thuật toán , nhưng các folks ColdFusion dường như không biết rằng vì họ liệt kê nó như là một thuật toán hỗ trợ cho các chức năng Encrypt. Chỉnh sửa: Tôi không thấy chức năng được xây dựng trong Hash nhưng tôi thấy thực tế là Mã hóa danh sách md5 và sha như các thuật toán được cho là được hỗ trợ, vì vậy tôi nghĩ (không chính xác) rằng đây chỉ là cách bạn nhận được băm CF.
Băm không phải là mã hóa. Mã hóa, theo định nghĩa, có thể hoàn tác. Hashing phải đủ khó khăn để hoàn tác nó là không thực tế. Nếu bạn cần khôi phục dữ liệu gốc, hãy sử dụng mã hóa. Nếu bạn cần xác minh dữ liệu (như tập tin, hoặc mật khẩu) băm là cách để đi. Bất kể, sử dụng hàm băm() cho MD5, như Eddie đã chỉ ra. –
@Ben Doom: Tôi hoàn toàn hiểu được sự khác biệt giữa băm và mã hóa. Tôi thậm chí còn nói như vậy trong chú thích của tôi. Tôi không thấy chức năng "băm" và thấy rằng "mã hóa" được yêu cầu hỗ trợ MD5, SHA và một số thuật toán băm khác, vì vậy tôi nghĩ đó là cách bạn phải làm trong ColdFusion. – Kip