首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ruby中的python crypt.crypt?

ruby中的python crypt.crypt?
EN

Stack Overflow用户
提问于 2009-12-05 05:04:39
回答 2查看 577关注 0票数 0

嗨,我需要用ruby写这段代码,我不知道怎么用ruby写crypt.crypt方法,有什么想法吗?

(我想模拟linux命令和.htpasswd)

代码语言:javascript
复制
import random
import crypt

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

password = "bla"

print crypt.crypt(password, salt)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-05 05:18:44

我相信Ruby的String#crypt等同于Python的crypt.crypt,所以你的代码的Ruby等价物应该是这样的:

代码语言:javascript
复制
letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/.'
salt = letters[rand letters.length].chr + letters[rand letters.length].chr

password = "bla"

puts password.crypt(salt)
票数 1
EN

Stack Overflow用户

发布于 2009-12-07 07:34:57

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

代码语言:javascript
复制
letters = [*'a'..'z'] + [*'A'..'Z'] + [*0..9] + %w(/ .)

更新:由于这在两年多后获得了支持,我不妨添加1.9的方式来实现这一点(使用多个splats和字符字面量):

代码语言:javascript
复制
letters = [*?a..?z, *?A..?Z, *0..9, ?/, ?.]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1849638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档