小编His*_*shi的帖子

OpenSSL :: SSL :: SSLError SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败

我的环境,

% openssl version
OpenSSL 0.9.8r 8 Feb 2011
% curl --version
curl 7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IPv6 Largefile NTLM NTLM_WB SSL libz
% rails -v
Rails 3.0.3
% ruby -v
ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-darwin12.2.0]
% rvm --version
rvm 1.15.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

omniauth version is '0.2.6'
Run Code Online (Sandbox Code Playgroud)

然后我通过facebook使用omniauth登录并获得以下错误. …

homebrew curl openssl ruby-on-rails omniauth

2
推荐指数
1
解决办法
3616
查看次数

如何解密用 ruby​​ 中的“rijndael-128-cbc”加密的数据

我需要使用'rijndael-128-cbc'算法解密由php加密的数据。

现在我在将 php 代码转换为 ruby​​ 代码时遇到了问题。ruby OpenSSL::Cipher 不支持 rijndael-128-cbc 然后我使用“aes-128-cbc”。我听说 AES 基于 Rijndael 密码,所以我想我可以将 rijndael-128-cbc' 的解密转换为 AES-128-CBC。

enc = OpenSSL::Cipher.new "AES-128-CBC"
enc.encrypt
puts enc.key_len
Run Code Online (Sandbox Code Playgroud)

它的输出是 16

然而,在 php

echo mcrypt_get_key_size('rijndael-128', 'cbc')
Run Code Online (Sandbox Code Playgroud)

这得到 32

“rijndael-128”和“AES-128-CBC”之间有什么区别吗?

以及如何将 rijndael-128-cbc 描述转换为 ruby​​?

php ruby encryption

2
推荐指数
1
解决办法
2651
查看次数

如何通过id数组对ActiveRecord对象进行排序

我的环境

ruby 2.0.0-p195
rails (4.0.0.rc1)
activerecord (4.0.0.rc1)
Run Code Online (Sandbox Code Playgroud)

我想通过id数组对ActiveRecord对象进行排序.我尝试了按字段顺序.

ids = [1,4,2,3]
Foo.where(id: ids).order('FIELD(id, ?)', ids)
Run Code Online (Sandbox Code Playgroud)

然而它失败了.

Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?,?,?,?}), ö, ÷, ï, ñ' at line 1:
Run Code Online (Sandbox Code Playgroud)

然后我试试

ids = [1,4,2,3]
Foo.where(id: ids).order('FIELD(id, #{ids.join(","))')
Run Code Online (Sandbox Code Playgroud)

它当然是成功的.但是我担心它可能有SQL注入风险,因为数组ID是从会话值生成的.

有没有更好更安全的方法?

提前致谢.

ruby-on-rails mysql2 ruby-on-rails-4

1
推荐指数
1
解决办法
2634
查看次数