9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

JRuby 综述:Ruby 1.8.7 支持、Android 支持及 Bcrypt-ruby

  • 2009-08-25
  • 本文字数:727 字

    阅读完需:约 2 分钟

拖延了一年多之后, JRuby 团队终于决定将 Ruby 1.8.7 支持添加到 JRuby 主干中

Ruby 1.8.7 支持终于登陆 JRuby 1.4 了!感谢 olabini,Marcin Mielzynski 及 JRuby 社区的全体成员!

JRuby 1.4 将成为 JRuby 的下一个版本,年底行将发布, jruby.properties 表明默认情况下其版本号是 Ruby 1.8.7。

JRuby 的Android支持也得到了极大的改进。Charles Nutter发布了一个基于 JRuby 的 irb 作为 Android 应用,其源代码位于 GitHub,叫做 ruboto-irb
与此同时, Android Scripting Environment 开始支持JRuby 了。

很多Ruby 程序库通过本地扩展将Ruby 与本地程序库连接起来——但这么做对JRuby 却不行, bcrypt-ruby 就是一个活生生的例子。幸好有Phusion 的无私奉献,bcrypt-ruby 的下一版将能使用在JRuby 及Ruby 1.9.x 上了。其 JRuby 支持包含了 bcrypt 算法的 Java 版本,而 Ruby 1.9 支持则涵盖了在长时间计算过程中对 GIL 处理及释放方式的改进。

那么 bcrypt-ruby 到底为何物呢?它实现了一种散列算法,其运行速度要比其他算法如 SHA-1 慢很多。其想法就是利用该算法来对密码进行散列;试想,如果数据库的密码散列值被窃取,那么就可以通过它计算出密码了。虽然散列算法是单向函数,我们仍旧可以对大量可能的密码进行散列,然后与数据库中存储的散列值进行比对。快速的散列算法对这种暴力破解很有帮助,而这正是 bcrypt 的用武之地。由于算法运行速度很慢,因此人们很难通过暴力破解的方式获取散列密码。

bcrypt-ruby 程序库会保证密码散列值是经过随机数处理过的(即 salt ,意指在每个密码后面添加随机值,然后才计算密码和 salt 的散列值,以此防范“字典攻击”——译者注)。

查看英文原文: JRuby Roundup: Ruby 1.8.7 Support, Android Support, Bcrypt-ruby

2009-08-25 01:301302
用户头像

发布了 88 篇内容, 共 270.9 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容
JRuby综述:Ruby 1.8.7支持、Android支持及Bcrypt-ruby_Java_Werner Schuster_InfoQ精选文章