嗨,我需要用ruby写这段代码,我不知道怎么用ruby写crypt.crypt方法,有什么想法吗?
(我想模拟linux命令和.htpasswd)
import random
import crypt
letters = 'abcdefghijklmnopqrstuvwxyz' \
'ABCDEFGHIJKLMNOPQRSTUVWXYZ' \
'0123456789/.'
salt = random.choice(letters) + random.choice(letters)
password = "bla"
print crypt.crypt(password, salt)发布于 2009-12-05 05:18:44
我相信Ruby的String#crypt等同于Python的crypt.crypt,所以你的代码的Ruby等价物应该是这样的:
letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/.'
salt = letters[rand letters.length].chr + letters[rand letters.length].chr
password = "bla"
puts password.crypt(salt)发布于 2009-12-07 07:34:57
Jordan已经向您介绍了String#crypt,所以我将向您展示一种更简单的创建字母数组的方法:
letters = [*'a'..'z'] + [*'A'..'Z'] + [*0..9] + %w(/ .)更新:由于这在两年多后获得了支持,我不妨添加1.9的方式来实现这一点(使用多个splats和字符字面量):
letters = [*?a..?z, *?A..?Z, *0..9, ?/, ?.]https://stackoverflow.com/questions/1849638
复制相似问题