Tôi đang gặp phải điều gì đó lạ ở đây. Tôi có "trình xác thực" dựa trên ND5 để băm một chuỗi nhất định mà chúng tôi đối sánh dưới dạng mật khẩu. Vấn đề khi tôi chạy thử nghiệm của tôi là:Thông báo :: MD5 trong Ruby 1.9.3
NoMethodError: undefined method `md5' for #<CASServer::Authenticators::Billing:0x007fd8e6c906a0>
./models/authenticators/billing.rb:63:in `validate'
./routes/login.rb:166:in `block (2 levels) in <class:Server>'
./routes/login.rb:158:in `each'
./routes/login.rb:158:in `block in <class:Server>'
(eval):2:in `click_button'
./features/step_definitions/when_steps.rb:32:in `/^I enter "(.*)" as username and the generated username password and log in$/'
./features/rubycas.login.feature:14:in `When I enter "username" as username and the generated username password and log in'
Vì vậy, về cơ bản, anh ta không nhận ra MD5 như một phần của thư viện Digest. Vấn đề này xảy ra khi chạy các bài kiểm tra trong IDE, cũng như trong giao diện điều khiển IRB:
1.9.3-p125 :001 > require "digest/md5" and Digest::MD5("test")
NoMethodError: undefined method `MD5' for Digest:Module
Tuy nhiên, khi tôi chạy như sau:
[[email protected] /home/morn/rubycas/current]# ruby
require "digest/md5" and Digest::MD5("test")
tôi nhận được không có lỗi, bãi hoặc ngoại lệ . Ruby chỉ chấp nhận nó. Tôi đang thiếu gì để có được công cụ MD5 này hoạt động?
cảm ơn, đã làm việc ...... Tôi là một tên ngốc vì không thấy điều này: S –
Bạn có thể cung cấp liên kết đến tài liệu hướng dẫn phương pháp không? – Kostas
Digest :: MD5.hexdigest cũng khá tốt – reconbot