这是我目前正在使用的代码.它使用BouncyCastle Provider.
static
{
Security.addProvider(new BouncyCastleProvider());
}
protected String encrypt(byte[] keyData, byte[] data) throws Exception {
X509EncodedKeySpec keyspec = new X509EncodedKeySpec(keyData);
KeyFactory kf = KeyFactory.getInstance("RSA", "BC");
PublicKey pk = kf.generatePublic(keyspec);
Cipher rsa = Cipher.getInstance("RSA/None/OAEPWithSHA1AndMGF1Padding", "BC");
rsa.init(Cipher.ENCRYPT_MODE, pk);
byte[] output = rsa.doFinal(data);
String result = base64EncodeBytes(output);
return result;
}
Run Code Online (Sandbox Code Playgroud)
我现在正在接受
java.lang.ArrayIndexOutOfBoundsException: too much data for RSA block
at org.bouncycastle.jce.provider.JCERSACipher.engineDoFinal(Unknown Source)
at javax.crypto.Cipher.doFinal(DashoA13*..)
at Encryption.encrypt(RSAToken.java:60)
Run Code Online (Sandbox Code Playgroud) 如何填充这样的数组:
array('0' => 'blabla','1' => 'blabla2')
Run Code Online (Sandbox Code Playgroud)
从这样的字符串:
'#blabla foobar #blabla2'
Run Code Online (Sandbox Code Playgroud)
用preg_match()?
我有一些代码将return_toURL 嵌入到我想要测试的重定向(如OpenID)中:
def test_uses_referrer_for_return_to
expected_return_to = 'http://test.com/foo'
@request.env['HTTP_REFERER'] = expected_return_to
get :fazbot
# @response.redirected_to looks like http://service.com?...&return_to=[URI-encoded version of URL above]&...
encoded_return_to = (something_here)[:return_to]
assert_equal expected_return_to, URI.unencode(encoded_return_to)
end
Run Code Online (Sandbox Code Playgroud)
这是一个Rails ActionController::TestCase,所以我可以访问各种帮助方法; 我找不到合适的人.
当然我可以URI.parse用来获取URL的params部分,然后将其/&|?/拆分然后重新拆分'=',但我希望这已经为我完成了.另外,如果我错过了网址转义或参数解析中的一些模糊规则,该怎么办?有有有什么东西在ActionPack或ActiveSupport要做到这一点,但我不能找到它.
谢谢 :)
我在表中有一些计算列,需要知道我是否应该将Is Persisted设置为true.有什么好处?有什么缺点吗?"坚持"是什么意思?
我有一个原始的浮点数,我需要作为一个原始的双.简单地将浮子铸造成双倍会给我带来奇怪的额外精度.例如:
float temp = 14009.35F;
System.out.println(Float.toString(temp)); // Prints 14009.35
System.out.println(Double.toString((double)temp)); // Prints 14009.349609375
Run Code Online (Sandbox Code Playgroud)
但是,如果不是强制转换,我将float作为字符串输出,并将字符串解析为double,我得到我想要的:
System.out.println(Double.toString(Double.parseDouble(Float.toString(temp))));
// Prints 14009.35
Run Code Online (Sandbox Code Playgroud)
有没有比去String更好的方法呢?
这个脚本:
use strict;
use warnings;
use WWW::Mechanize;
my $mech = WWW::Mechanize->new( autocheck => 1 );
$mech->get( "http://www.google.com" );
print $mech->content;
Run Code Online (Sandbox Code Playgroud)
生成此错误消息:
错误获取http://www.google.com:无法在D:\ PERL\try.pl第5行连接到www.google.com:80(连接:未知错误)
怎么了?
在升级到VisualStudio 2010之前,我想确保我仍然可以定位框架的2.0版本.我无法从MS找到关于此的陈述.有人知道吗?
在Eclipse中有没有办法让"哑"字完成,类似于Vim中的ctrl + p?
例如,我经常写一个函数调用:
x = getMeAnXPlease();
Run Code Online (Sandbox Code Playgroud)
然后进去写定义:
function getMe...
Run Code Online (Sandbox Code Playgroud)
此时,在Vim中,我点击了ctrl + p,这将完成'getMe'到'getMeAnXPlease'.
Eclipse有类似的东西吗?
编辑:我知道ctrl + space执行上下文相关的完成,ctrl-1是神奇的"修复此行"键...但是有些情况我只想要上下文不敏感...这似乎是提供的通过'Word Completion'命令.
编辑:下一个问题:是否可以执行上下文不敏感的行完成(类似于Vim中的cx cl)?也就是说,使用类似的行完成当前行:
doSomeThing(1, 2, 3, 4);
doSome <c-x c-l> -- inserts the rest of the 'doSomeThing(1, 2, 3, 4);' line
Run Code Online (Sandbox Code Playgroud) 什么是VB6(Microsoft Access)的数据结构的内置?我知道有阵列,但还有其他更现代的数据结构吗?
我有一个问题,我在SQL Server中将UTF-8字符串存储为UCS-2.当我将其拉出来显示内容类型设置为UTF-8的页面时,它可以正常工作.但我有一个第三方Javascript组件,当我传递数据库的字符串时,它将其呈现为USC2.或者不是UTF8.
在从数据库中读取该字符串并将其传递给第三方组件(混淆)后,是否有一种方法可以将此字符串转换为UTF-8?
希望这是有道理的.