Encrypt with Ruby decrypt in PHP
2009年12月16日 星期三
Ruby encrypt decrypt
http://coderay.rubychan.de/rays/show/6287
require 'openssl'
require 'base64'
def encipher(data_to_encode)
cipher = OpenSSL::Cipher::Cipher.new("des-ede3-cbc")
key = "secretkey"
cipher.encrypt(key)
encoded_data = cipher.update(data_to_encode)
encoded_data cipher.final
return Base64.encode64(encoded_data)
end
def decipher(encoded)
encoded = Base64.decode64(encoded)
cipher = OpenSSL::Cipher::Cipher.new("des-ede3-cbc")
key = "secretkey"
cipher.decrypt(key)
encoded_data = cipher.update(encoded)
encoded_data cipher.final
return encoded_data
end
PHP encrypt decrypt
http://coderay.rubychan.de/rays/show/6288
function getkeyiv($key_size, $iv_size, $key, $iv='') {
if ($iv == '') {
$iv = 'OpenSSL for Ruby rulez!';
}
$iv = substr($iv,0,$iv_size);
$gen = '';
do {
$gen = $gen.md5($gen.$key.$iv,true);
} while (strlen($gen)($iv_size+$key_size));
$o[0] = substr($gen,0,$key_size);
$o[1] = $iv; //this is not the generated IV,
//just the original "salt" cut to the required size
return $o;
}
function trimpadding($str) {
if (ord($str[strlen($str)-1]) 9) {
return rtrim($str,$str[strlen($str)-1]);
} else {
return $str;
}
}
function encipher($data_to_encode){
$key = 'secretkey';
$td = mcrypt_module_open(MCRYPT_TRIPLEDES, '', MCRYPT_MODE_CBC, '');
$iv_size = mcrypt_enc_get_iv_size($td);
$key_size = mcrypt_enc_get_key_size($td);
$genkey = getkeyiv($key_size, $iv_size,$key);
if (mcrypt_generic_init($td,$genkey[0],$genkey[1]) != -1) {
$encoded_data = mcrypt_generic($td, $data_to_encode);
}
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return base64_encode($encoded_data);
}
function decipher($encoded) {
$key = 'secretkey';
$decrypted='';
$enc = base64_decode($encoded);
$td = mcrypt_module_open(MCRYPT_TRIPLEDES, '', MCRYPT_MODE_CBC, '');
$iv_size = mcrypt_enc_get_iv_size($td);
$key_size = mcrypt_enc_get_key_size($td);
$genkey = getkeyiv($key_size, $iv_size,$key);
if (mcrypt_generic_init($td,$genkey[0],$genkey[1]) != -1) {
$decrypted = mdecrypt_generic($td, $enc);
}
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return trimpadding($decrypted);
}
?>
[ChinaonRails]中国 Ruby / Rails 优秀人物采访计划
2009年9月1日 星期二
Dmitry Belitsky对几位成功的Rubyist进行了9个问题的email访问,然后公布了他们的回答,他们的经验对要想成为一个高效、成功、开心的Ruby / Rails工作者非常有帮助。
受此启发,我准备对中国 Ruby / Rails 优秀人物使用同样的问答对话方式,看看他们是怎样做到的。
以下是问题,如果你希望分享你的经验,请回答以下问题,发布到ChinaonRails社区,或我的Email(jesse.cai(at)gmail.com)中,同时也非常欢迎参与者邀请中国 Ruby / Rails 优秀人物参与。
1. 请简单介绍一下你自己,你目前的状态及对短期目标的打算,留下Blog、Twitter等。
2. 你是怎样找到你的第一个Ruby相关的工作的?
3. 你是在哪里和怎样搜索工作机会?你能给我一些最好的方法找到Ruby相关工作的建议吗?
4. 你能给一个没有完整项目展示的Ruby新手一些建议吗?
5. 你可以说说怎样做可以让现在比过去更好的吗?主要是关于使用Ruby工作、客户、如何寻找好的客户方面。很多人梦想着现在比过去好,将来比现在好,所以请写下任何你关于超越过去的想法。
6. 你可以推荐一些你认为将帮助一个程序员生活得更好的书籍、网站、秘诀吗?
7. 你一周工作多长时间?你怎样保持工作效率和精力集中呢?
8. 你怎样管理你的工作空间?你在工作时使用哪些工具?
9. 怎样成为一个成功和有用的程序员?
10. 什么是一个程序员应该知道的?
官方邀请链接:http://chinaonrails.com/topic/view/3337/1.html
已经回复的人有:
中国 Ruby / Rails 群英谱 - gigix
中国 Ruby / Rails 群英谱 - Robin Lu
中国 Ruby / Rails 群英谱 - Eric Sun
中国 Ruby / Rails 群英谱 - IceskYsl
中国 Ruby / Rails 群英谱 - saberma
中国 Ruby / Rails 群英谱 - Dave Liu
中国 Ruby / Rails 群英谱 - dongbin
中国 Ruby / Rails 群英谱 - Cai Li
中国 Ruby / Rails 群英谱 - Daniel Lv
中国 Ruby / Rails 群英谱 - 404
中国 Ruby / Rails 群英谱 - zhangxue
中国 Ruby / Rails 群英谱 - Rui Ma
受此启发,我准备对中国 Ruby / Rails 优秀人物使用同样的问答对话方式,看看他们是怎样做到的。
以下是问题,如果你希望分享你的经验,请回答以下问题,发布到ChinaonRails社区,或我的Email(jesse.cai(at)gmail.com)中,同时也非常欢迎参与者邀请中国 Ruby / Rails 优秀人物参与。
1. 请简单介绍一下你自己,你目前的状态及对短期目标的打算,留下Blog、Twitter等。
2. 你是怎样找到你的第一个Ruby相关的工作的?
3. 你是在哪里和怎样搜索工作机会?你能给我一些最好的方法找到Ruby相关工作的建议吗?
4. 你能给一个没有完整项目展示的Ruby新手一些建议吗?
5. 你可以说说怎样做可以让现在比过去更好的吗?主要是关于使用Ruby工作、客户、如何寻找好的客户方面。很多人梦想着现在比过去好,将来比现在好,所以请写下任何你关于超越过去的想法。
6. 你可以推荐一些你认为将帮助一个程序员生活得更好的书籍、网站、秘诀吗?
7. 你一周工作多长时间?你怎样保持工作效率和精力集中呢?
8. 你怎样管理你的工作空间?你在工作时使用哪些工具?
9. 怎样成为一个成功和有用的程序员?
10. 什么是一个程序员应该知道的?
官方邀请链接:http://chinaonrails.com/topic/view/3337/1.html
已经回复的人有:
中国 Ruby / Rails 群英谱 - gigix
中国 Ruby / Rails 群英谱 - Robin Lu
中国 Ruby / Rails 群英谱 - Eric Sun
中国 Ruby / Rails 群英谱 - IceskYsl
中国 Ruby / Rails 群英谱 - saberma
中国 Ruby / Rails 群英谱 - Dave Liu
中国 Ruby / Rails 群英谱 - dongbin
中国 Ruby / Rails 群英谱 - Cai Li
中国 Ruby / Rails 群英谱 - Daniel Lv
中国 Ruby / Rails 群英谱 - 404
中国 Ruby / Rails 群英谱 - zhangxue
中国 Ruby / Rails 群英谱 - Rui Ma
标签: chinaonrails, ruby, RubyonRails
ChinaonRails in 2009
2009年1月10日 星期六
时光飞逝,ChinaonRails.Com又跨过入了新的一年。bd7lx来信说:希望COR新年能坚持下去,页脚也应该是“© 2007-2009”。过去的两年时间里,很多人在在ChinaonRails上分享知识,增进友谊。而ChinaonRails也一直保持了朴素,自然,平和,亲切的风格,帮助了一些人解决问题(有问有答),招聘RubyonRails人才,举办社区活动,协作翻译Raisl 2.1 更新了什么?牵手InfoQ,部分充当了Rails中国社区和英语国家建起了桥梁的作用……
新的一年里,不管国际社会风云怎样变幻,我希望Railser in China继续与世界的Rails developer们一起,保持程序员这一份追求效率、激情、快乐的心情,踏实学习,发展创新,为自己赢得更多机会,为这个时代做点看得见摸得着的实事。
祝广大Rails从业者新年行大运。
标签: chinaonrails, ruby, RubyonRails
善用 Rails 的 script/runner
2008年12月15日 星期一
网站中经常有一些需要在后台运行的程序,Rails 给我们提供了 script/runner 方法运行 model 中的 action, 如:
ruby script/runner User.find(:first)
之前一般都使用这种方法来处理后台运行的方法,其实还可以有另外一种灵活方法使用 script/runner,可以在 Rails app 的配置,和 Rails Framework 的一些内置方法,但将需要完成的任务写在独立的 Ruby 文件中,如:
vim cron_task.rb
u = User.find(:first)
puts u.inspect
然后在命令行中使用以下方式执行:
ruby script/runner cron_task.rb
使用这样的方式执行 cron_task.rb, 就可以在 ruby 文件中方便的使用 rails app 的 config 和 framework.
当然也可以直接使用Ruby/MySQL直接连数据库操作。
ruby script/runner User.find(:first)
之前一般都使用这种方法来处理后台运行的方法,其实还可以有另外一种灵活方法使用 script/runner,可以在 Rails app 的配置,和 Rails Framework 的一些内置方法,但将需要完成的任务写在独立的 Ruby 文件中,如:
vim cron_task.rb
u = User.find(:first)
puts u.inspect
然后在命令行中使用以下方式执行:
ruby script/runner cron_task.rb
使用这样的方式执行 cron_task.rb, 就可以在 ruby 文件中方便的使用 rails app 的 config 和 framework.
当然也可以直接使用Ruby/MySQL直接连数据库操作。
标签: ruby, RubyonRails
Import Wordpress export file into Blogger
2008年12月4日 星期四
i tried many tools in china mainland to import Wordpress export file into Blogger, but neither can works. so i export all blog from my Wordpress 2.04 to a xml file(just save all feed to file through browser), wrote a ruby script convert to Blogger format, it works for me.
http://snippets.dzone.com/posts/show/6659
http://snippets.dzone.com/posts/show/6659

