python crypt.crypt в рубине? - PullRequest
       12

python crypt.crypt в рубине?

0 голосов
/ 05 декабря 2009

привет, мне нужен этот код в ruby, я не знаю, как написать метод crypt.crypt в ruby, есть идеи?

(я хочу смоделировать команду linux .htpasswd)

import random
import crypt

letters = 'abcdefghijklmnopqrstuvwxyz' \
          'ABCDEFGHIJKLMNOPQRSTUVWXYZ' \
          '0123456789/.'
salt = random.choice(letters) + random.choice(letters)

password = "bla"

print crypt.crypt(password, salt)

Ответы [ 2 ]

3 голосов
/ 07 декабря 2009

Джордан уже рассказал вам о String # crypt, поэтому я просто покажу вам более простой способ создания массива букв:

letters = [*'a'..'z'] + [*'A'..'Z'] + [*0..9] + %w(/ .)

Обновление: , так как за это проголосовали более чем через 2 года, я мог бы также добавить способ 1,9 сделать это (используя несколько знаков и символов):

letters = [*?a..?z, *?A..?Z, *0..9, ?/, ?.]
1 голос
/ 05 декабря 2009

Я полагаю, что String # crypt в Ruby эквивалентен crypt.crypt в Python, поэтому Ruby, эквивалентный вашему коду, будет выглядеть примерно так:

letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/.'
salt = letters[rand letters.length].chr + letters[rand letters.length].chr

password = "bla"

puts password.crypt(salt)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...