如何在ruby中使用sharp隐藏输出密码



我想在ruby代码中放入sharp而不是密码

puts "        found password: #{pass.tr('?','#')}"

我需要与密码中的字符一样多的尖锐的"#"字符输出。

如何做对?

方法.tr用于交换特定字符,不能进行通配符匹配。即使您将其扩展到包含许多字符,也有可能错过或忘记系统密码中允许的特殊字符。

一个简单的变体是使用.gsub

pass.gsub(/./,'#')

这使用正则表达式来查找要交换的字符组。简单的Regexp /./匹配任何单个字符。关于正则表达式的Ruby核心文档包括一个简短的介绍,以防您以前很少使用它们。

相关内容

  • 没有找到相关文章

最新更新