小编emb*_*oss的帖子

RSA签名大小?

我想知道RSA签名的长度是多少?是否总是与RSA密钥大小相同,如果密钥大小为1024,则RSA签名为128字节,如果密钥大小为512位,则RSA签名为64字节?什么是RSA模数?那么RSA-sha1是什么意思?任何指针都非常感激.

security cryptography sha1 rsa digital-signature

38
推荐指数
1
解决办法
4万
查看次数

轻量级Java Web框架 - 特定要求

我第一次遇到例如Ruby的Sinatra框架或PHP的Zend框架时,我想知道Java中是否有足够的东西,这一切看起来都很臃肿.虽然周围有无数的框架,但到目前为止我还没有找到任何框架,我认为这对于我想要实现的架构是完美的.

我想设计一个对Javascript很重要的Web应用程序,在客户端上实现大多数应用程序逻辑,Java后端或多或少只是用作数据存储或执行复杂的计算.

我确实在这里查看了相关的问题,但我找不到完美的答案,每个建议的解决方案都有一个不符合要求的怪癖.

所以这就是我要寻找的,一个具有以下功能的开源框架:

  • 约定优于配置
  • 除了web.xml之外没有XML配置
  • 纯Java(没有Scala,没有Groovy,......)
  • 自然的REST风格的URL,例如/ news/2011/7月(没有.do,没有.jsp,...)
  • REST感知
  • 它不应该强迫我在应用服务器上部署(例如EJB应该是可选的)
  • 会话支持会很好,但不是强制性的
  • 像Rails中的代码生成将是很棒但不是强制性的
  • 最小的依赖性,总体规模小
  • MVC会很好,但是
    • 我希望能够选择M部分,自己选择持久性库(没有捆绑).
    • 没有自动生成的视图代码,HTML,Javascript和CSS
    • 一个集成的模板语言会很好,但它应该是简约的(简单的控制流,访问模板变量)
    • 布局支持(即您可以为类似视图指定通用模板)
    • 自由选择视图的Javascript框架

基本上这意味着MVC框架为我做路由并为视图提供模板支持,但其余的是完全模块化的,没有魔力.是否有任何简约框架可以提供这种(或者至少是模块化的,以便以这种方式配置)?

java frameworks

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

将值设置为枚举 - Java

我正在尝试在我的java应用程序中将值设置为枚举....但我不能这样做.

我做错了吗???

public enum RPCPacketDataType {
    PT_UNKNOWN(2),
    PT_JSON(4),
    PT_BINARY(5)
};
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误:构造函数RPCPacket.RPCPacketDataType(int)是未定义的.

java enums android

18
推荐指数
2
解决办法
2万
查看次数

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

我使用RVM在Ubuntu 12.04上安装Ruby 1.9.3

rvm pkg install openssl
rvm install 1.9.3 --with-openssl-dir=$rvm_path/usr
Run Code Online (Sandbox Code Playgroud)

然后当我尝试按照以下方式运行时:

require 'open-uri'
open('https://www.google.com/')
Run Code Online (Sandbox Code Playgroud)

我收到错误: OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

我该如何解决这个问题?我有许多类似的线程,人们在OSX中有这个问题,但我如何在Ubuntu中解决它?

谢谢你的帮助.

ubuntu ssl openssl ruby-on-rails rvm

16
推荐指数
4
解决办法
3万
查看次数

如何使用Ruby加密文件?

我需要编写一个加密/解密文件的简单工具.

我想最好的方法是使用OpenSSL:

生成密钥:

openssl rand -base64 2048 > secret_key
Run Code Online (Sandbox Code Playgroud)

加密文件:

openssl aes-256-cbc -a -e -in file -out file.enc -k secret_key
Run Code Online (Sandbox Code Playgroud)

解密文件:

openssl aes-256-cbc -d -in file.enc -out file -k secret_key
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法在Ruby中实现它?有没有更好的方法呢?使用PGP可能吗?

ruby security encryption openssl

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

如何(如果有的话)可预测的随机数生成器在SHA-1输出后变得更安全?

这篇文章指出

尽管Mersenne Twister是一个非常好的伪随机数生成器,但由于一个非常简单的原因,它本身并不具有加密安全性.可以从发电机在任何给定时间具有的状态确定发电机的所有未来状态,并且624个32位输出或19,937个一位输出足以提供该状态.在Mersenne Twister的输出上使用加密安全散列函数(如SHA-1)已被推荐为获取密码学中有用的密钥流的一种方法.

但是没有提及为什么消化输出会使它更安全.老实说,我不明白为什么会这样.Mersenne Twister的周期为2 ^ 19937-1,但我认为我的推理也适用于任何周期性PRNG,例如线性同余发生器.由于安全单向函数h的特性,人们可以将h视为内射函数(否则我们可以产生碰撞),从而简单地将值从其域映射到其范围中以一对一的方式.

考虑到这一点,我认为散列值将产生与原始Mersenne Twister完全相同的周期性行为.这意味着如果您观察到一个周期的所有值并且值开始重复,那么您完全能够预测所有未来的值.

我认为这与在基于密码的加密(PKCS#5)中应用的原理相关- 因为密码域不能提供足够的熵,只是哈希密码不会增加任何额外的熵 - 这就是你需要的原因在哈希之前加密密码.我认为完全相同的原则适用于此.

一个简单的例子最终说服了我:假设你有一个非常糟糕的PRNG,总是产生1的"随机数".那么即使SHA-1是一个完美的单向函数,将SHA-1应用于输出也是如此总是产生相同的值,从而使输出不比以前更容易预测.

尽管如此,我还是要相信这篇文章有一些道理,所以我肯定忽视了一些事情.你能帮我吗?在很大程度上,我从我的论点中遗漏了种子价值 - 也许这就是魔术发生的地方?

security random cryptography entropy prng

9
推荐指数
2
解决办法
1773
查看次数

JKS密钥存储格式的规范

我想知道是否存在Java中使用的JKS密钥库格式的官方规范?我想从/到PKCS#12编写一个转换器,但不是用Java编写,因此不幸的是,keytool或Java代码不是一个选项.

在十六进制编辑器中查看一个告诉我它可能不是ASN.1.在我开始深入研究OpenJDK之前,尝试对格式进行逆向工程,有没有人知道是否存在规范?到目前为止我找不到任何东西,任何帮助都会非常感激!

java file-format keystore jks

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

在Ruby中使用Sinatra中的gzip压缩

注意:我有另一个关于如何使用Ruby的GZIP数据的类似问题zlib,技术上得到了解答,我不觉得我可以开始改进问题,因为它已被回答,所以尽管这个问题是相关的,但它不一样......

下面的代码(我相信)是GZIP的静态CSS文件并将结果存储在result变量中.但是我在这个意义上怎么做呢:如何将这些数据发送回浏览器,使其被识别为GZIP而不是原始文件大小(例如,当检查我的YSlow分数时,我想要正确地看到它我确保我GZIP静态资源).

z = Zlib::Deflate.new(6, 31)
z.deflate(File.read('public/Assets/Styles/build.css'))
z.flush
@result = z.finish # could also of done: result = z.deflate(file, Zlib::FINISH) 
z.close
Run Code Online (Sandbox Code Playgroud)

...有一点需要注意的是,在我之前的问题中,受访者澄清说Zlib::Deflate.deflate不会产生gzip编码的数据.它只会生成zlib编码的数据,所以我需要使用等于31 Zlib::Deflate.newwindowBits参数来启动gzip流.

但是,当我运行此代码时,我实际上并不知道如何处理result变量及其内容.互联网(我可以找到)上没有关于如何将GZIP编码的静​​态资源(如JavaScript,CSS,HTML等)发送到浏览器的信息,这使得页面加载速度更快.看来我读的每篇Ruby文章都是基于使用Ruby on Rails的人!!

任何帮助真的很感激.

ruby gzip zlib sinatra

9
推荐指数
2
解决办法
4552
查看次数

在Android上将byte []通过jni传递给C的问题

我有一个byte[]Java,它将其长度报告为256字节,我将其传递给C中的本机函数.

当我试图从这个数组中获取数据时,这是完全错误的,当我将其打印出来时,它与我在将其传递给C之前打印出来的数据不匹配.

我尝试了几种方法来访问数据,包括两者GetByteArrayRegion,GetByteArrayElements但似乎没有任何东西给我我期望的数据.

当我正在调查这个我想看看JNI相信jbyteArray的长度是用GetArrayLength-它报道的长度1079142960,远远超过了256个字节我的预期.每次调用函数时,值也不同,例如,另一个时间GetArrayLength返回1079145720.

这是我用来访问数组的代码:

JNIEXPORT jbyteArray function(JNIEnv* env, jbyteArray array) {
    int length = (*env)->GetArrayLength(env, array);

    jbyte data[256];

    (*env)->GetByteArrayRegion(env, array, 0, 256, data);
    //also tried
    //jbyte *data = (jbyte*) (*env)->GetByteArrayElements(env, array, NULL);
}
Run Code Online (Sandbox Code Playgroud)

这看起来非常简单,所以我不确定发生了什么.Java中的数组看起来很好,但它是在C中生成并传回来的,所以我认为Java不关心的东西可能会出错,但是当它回到C时会破坏数组.

这是我用来生成数组并将其传递回Java的代码:

//there is some openSSL stuff here that sets up a pointer to an RSA struct called keys that is size bytes large

jbyteArray result = (*env)->NewByteArray(env, size);

(*env)->SetByteArrayRegion(env, result, 0, size, (jbyte*)keys; …
Run Code Online (Sandbox Code Playgroud)

c java java-native-interface android openssl

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

开源XPath Filter 2.0实现

有没有人知道XPath Filter 2.0的开源实现,最好是Java?但任何其他语言也没关系.标准不是那么新,所以应该存在一些东西,但我找不到任何东西......

如果确实没有足够的东西,有没有人实现过它,并且可以告诉我使用标准方法(DOM模型加XPath)有多难?只是一个粗略的估计,对于2个全职工作的人来说,是几天还是几周?

java xml xpath open-source xml-signature

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