大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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:301326
用户头像

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

关注

评论

发布
暂无评论
发现更多内容

大数据训练营 -0725 课后作业

cc

外包学生管理系统架构设计文档

君子意如何

架构师训练营第 1 期 「架构师训练营第 1 期」

docker部署redis记录,楼主亲测无异常

小鲍侃java

8月日更

【Flutter 专题】79 图解 Android Native 集成 FlutterBoost 小尝试 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

在线短视频缩略图剪切工具

入门小站

工具

Seldon 使用 (五): engine & graph

托内多

tensorflow kubeflow seldon

架构实战营-毕业设计

En wei

架构实战营

从 Druid 控制台(Druid console)中进行查询

HoneyMoose

Pandas入门教程-开篇之作

Peter

Python pandas 数据分析师 #python

02-架构图

Lane

架构实战营毕业总结

En wei

架构实战营

分布式存储系统可靠性:系统量化估算

vivo互联网技术

分布式存储

ECMAScript 2020(ES11)新特性简介

程序那些事

JavaScript ecmascript nodejs ES11 程序那些事

FastApi-01-初识

Python研究所

FastApi 8月日更

波宝TronLink钱包APP系统开发介绍

Geek_23f0c3

钱包系统开发 DAPP智能合约交易系统开发 波宝钱包

☕️【系统设计】如何设计出优雅且实用的API接口

李尚智

Java 架构设计 架构设计实战

服装生产流程管理在明道云的实现

明道云

Git的基本操作

卢卡多多

git flow git reset 8月日更

具备货币属性的比特币,会成为一种货币吗?

CECBC

缓存使用的一些问题

旺仔大菜包

redis

【LeetCode】矩阵中战斗力最弱的 K 行Java题解

Albert

算法 LeetCode 8月日更

做行业的底层架构者 为区块链+提供更多可能

CECBC

Linux中Shell重定向

入门小站

Linux

几百行代码写个Mybatis,原理搞的透透的!

小傅哥

Java spring 源码 mybatis 代理

解密NFT,进军元宇宙,区块链与价值实体将如何链接?

CECBC

Pandas入门教程-Series类型数据

Peter

Python 数据分析 数据 pandas

啊哈!这段时间的学习感受

Nydia

8月日更

【Vue2.x 源码学习】第二十二篇 - dep 和 watcher 关联

Brave

源码 vue2 8月日更

招商银行信用卡卡号识别项目(第一篇),Python OpenCV 图像处理取经之旅第 53 篇

梦想橡皮擦

8月日更

Rust从0到1-模式-使用场景

rust 模式 Patterns Matching

用5W1H告诉你如何规划合理的测试策略

华为云开发者联盟

敏捷 敏捷开发 测试 测试策略 缺陷

JRuby综述:Ruby 1.8.7支持、Android支持及Bcrypt-ruby_Java_Werner Schuster_InfoQ精选文章