BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Werner Schuster 关注 6 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2009年8月26日. 估计阅读时间: 2 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

拖延了一年多之后,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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT