Ruby的语言用途

Python09

Ruby的语言用途,第1张

Ruby 是开源的,在Web 上免费提供,但需要一个许可证。 Ruby 是一种通用的、解释的编程语言。 Ruby 是一种真正的面向对象编程语言。 Ruby 是一种类似于 Python 和 Perl 的服务器端脚本语言。 Ruby 可以用来编写通用网关接口(CGI)脚本。 Ruby 可以被嵌入到超文本标记语言(HTML)。 Ruby 语法简单,这使得新的开发人员能够快速轻松地学习 Ruby。 Ruby 与 C++ 和 Perl 等许多编程语言有着类似的语法。 Ruby 可扩展性强,用 Ruby 编写的大程序易于维护。 Ruby 可用于开发的 Internet 和 Intranet 应用程序。 Ruby 可以安装在 Windows 和 POSIX 环境中。 Ruby 支持许多 GUI 工具,比如 Tcl/Tk、GTK 和 OpenGL。 Ruby 可以很容易地连接到 DB2、MySQL、Oracle 和 Sybase。 Ruby 有丰富的内置函数,可以直接在 Ruby 脚本中使用。

我们可以用mkpasswd命令:这个命令就是用来生成crypt格式的密码的:

mkpasswd

输入命令后,程序会要求输入一个密码,然后生成crypt格式的字符串

如果用Apache

Web服务器,那么也可以用htpasswd:

htpasswd

-nd

user

用户名(user)叫什么都无所谓,我们关注的是密码。这个命令会输出一个user:password格式的字符串,直接把password字段复制下来就ok了。

有OpenSSL的话,可以使用openssl命令:

openssl

passwd

-crypt

myPassword

把上面命令中的myPassword用你想用的密码字符串代替。

其他还有一些需要把命令在命令行中直接输入的方式,不过这种做法有个问题,就是在ps命令中可以看到密码,同时密码也会被记录入shell历史。

不过这个问题是有解决办法的:用脚本,或者语言解释器。

比如使用Perl:

perl

-e

"print

crypt('password','sa')"

Perl需要一个加密盐,如这里使用了sa(salt指加密中用到的随机字符串,用不同的salt可以生成不同的加密结果)。

Ruby也一样需要加密盐:

ruby

-e

'print

"password".crypt("JU")

print("n")'

PHP也可以:

php

-r

"print(crypt('password','JU')

.

"n")"

需要注意的是,如果不使用加密盐(如上面命令中的JU),那么输出的字符串将不是crypt加密格式,而是MD5加密格式的。所以,加密盐其实是必须的参数。

Python需要导入crypt库并使用加密盐:

python

-c

'import

crypt

print

crypt.crypt("password","Fx")'

这里的加密盐是Fx。

数据库也可以生成crypt密码。比如用MySQL:

echo

"select

encrypt('password')"

|

mysql

另外,Tcl,Ubuntu下的trf,还有Lua的lua-crypt插件也可以实现相同的目的。

欢迎补充其他的方式!