2009-04-29 22 views
5

Chúng tôi phải tự động nhập danh sách người dùng lớn có một số dữ liệu vào hệ thống đang chạy. Đối với mật khẩu ban đầu, tôi muốn cập nhật danh sách (định dạng csv tại thời điểm này) bằng một phím chữ và số ngẫu nhiên (8 chữ số).Tôi nên tạo mật khẩu ban đầu gồm chữ và số ngẫu nhiên cho người dùng mới như thế nào?

Khi chèn nó với một thói quen đặc biệt (cần một tệp csv), mật khẩu (trong trường hợp này là khóa chữ số) được lưu trữ dưới dạng băm md5.

ví dụ tôi tạo ra một chìa khóa chữ và số ngẫu nhiên:

H2A5D39A -> MD5: 1642fccf791f15d137cf31282af79752 

Bằng cách này tôi muốn tạo ra một danh sách mà người sử dụng chứng thực có thể hỏi tôi cho mật khẩu ban đầu của họ (phím chữ và số).

Bạn có ý tưởng hay hơn về mật khẩu ban đầu "bí mật" không?

Bạn sẽ tạo khóa chữ và số trong Perl như thế nào?

P.S .: Các "chạy hệ thống", không được lập trình của chúng tôi, chỉ cần allowes mật khẩu chữ và số (không ký tự đặc biệt, ...)

Trả lời

15

Làm thế nào bạn sẽ tạo phím chữ và số trong Perl?

tham gia '', bản đồ + (0..9, 'a' .. 'z', 'A' .. 'Z') [rand (10 + 26 * 2)], 1 .. 8

+0

1 đẹp lót – dfa

+0

Coi chừng tương đồng giữa tôi, l, và 1 và 0 và O. Dễ dàng xử lý bằng cách gán danh sách char của bạn cho một mảng, và sau đó làm: tham gia '', ánh xạ $ chars [rand @chars], 1..8; – daotoad

6

Tôi có thể sử dụng pwgen. Nó là tuyệt vời vì nó cho phép tùy biến dễ dàng, và có chuyển đổi không sử dụng các ký tự mơ hồ (nghĩ: I, l, 1, O, 0).

ví dụ:

=> pwgen -c -n -B 8 50 
shuFak9o peiCh3Oo ohPieng9 Vohh7zuu os3Theep aeV9nuo9 aexeik4B aeChoh9s 
uth3eePu baePhu3o aiS3pahn iPie4itu We9zuphi xie3Chi3 yeiRoo7c fai3ITai 
aCh9ohco Echuab7v Fu9ahCho Aevae4no Peethai9 AiJio3Pa aeNge9Fo baePh7Uy 
Nai7shei eeMoh9en Zeibai4n eGe7yuch Jaek7nai aeZah7sh Chei4ua4 shoo9oG9 
iu7Wohho aep7De4U Fong9fo3 AhneeP7U oxae7Yoh ahF4eim3 fahm9Aiw naoNg4ie 
Chie4xua jix3Uvot aChei7ai diey4Shi Yur7ee4j eeJeo9ee Bou3ahmu kaeb4Cah 
Eh4Eemae oD4phoo9 
1

câu trả lời Anonymous là rất tốt, nhưng nếu bạn cần một chuỗi ngẫu nhiên mà phù hợp với một số quy tắc (ví dụ như ít nhất một chữ hoa, một chữ thường, và một số), bạn có thể muốn xem xét String::Random.

0

Tôi vừa hoàn thành một bài đánh giá của 12 mô-đun trên CPAN có thể được sử dụng để tạo mật khẩu ngẫu nhiên:

http://blogs.perl.org/users/neilb/2011/08/random-password-generation.html

Nói tóm lại: nếu bạn muốn có một mật khẩu có thể phát âm, hãy xem Crypt::YAPassGen, nếu không, hãy truy cập .

App :: Genpass tránh ký tự confusable và cung cấp cho bạn kiểm soát tốt hơn (và giá trị mặc định) so với dữ liệu :: Random hoặc String :: Random

Các vấn đề liên quan