ruby中的python crypt.crypt?

ruby中的python crypt.crypt?,python,ruby,Python,Ruby,嗨,我需要ruby中的代码,我不知道如何用ruby编写crypt.crypt方法,有什么想法吗 (我想模拟linux comand.htpasswd) 我相信Ruby相当于Python的crypt.crypt,因此Ruby相当于您的代码: letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/.' salt = letters[rand letters.length].chr + letters[ran

嗨,我需要ruby中的代码,我不知道如何用ruby编写crypt.crypt方法,有什么想法吗

(我想模拟linux comand.htpasswd)

我相信Ruby相当于Python的crypt.crypt,因此Ruby相当于您的代码:

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

password = "bla"

puts password.crypt(salt)
我相信Ruby相当于Python的crypt.crypt,因此Ruby相当于您的代码:

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

password = "bla"

puts password.crypt(salt)

Jordan已经向您介绍了String#crypt,因此我将向您展示一种创建字母数组的更简单方法:

letters = [*'a'..'z'] + [*'A'..'Z'] + [*0..9] + %w(/ .)
更新:由于这是在2年多之后升级的,我不妨添加1.9的方式(使用多个splat和字符文字):


Jordan已经向您介绍了String#crypt,因此我将向您展示一种创建字母数组的更简单方法:

letters = [*'a'..'z'] + [*'A'..'Z'] + [*0..9] + %w(/ .)
更新:由于这是在2年多之后升级的,我不妨添加1.9的方式(使用多个splat和字符文字):


然后使用类似于:
salt=letters.sample(2)。join
从数组中随机获取两个字母。很好。然后使用类似于:
salt=letters.sample(2)。join
从数组中获取两个随机字母。美好的