Tag: ruby

AES java编码,ruby解码

我正在尝试对java中的数据进行AES编码,通过网络发送并在ruby中对其进行解码。 使用基本字符串可以正常工作,但是一旦字符串的长度为16个字节或更多,我就会在解码的ruby字符串的编码中产生垃圾。 我想这与填充有关(不确定,因为它甚至影响具有16的确切大小的字符串) 我尝试使用PKCS或只是在我的字符串末尾添加空格以匹配确切的长度而没有运气 也有人可以解释为什么我必须在ruby中做一个“aes-256-cbc”知道我的java代码使用aes 128? 在ruby中尝试aes-128-cbc对任何字符串都不起作用 任何帮助是极大的赞赏 这是我的基本代码 Java的 byte[] raw = key.getBytes(); SecretKeySpec skeySpec = new SecretKeySpec(raw, “AES”); Cipher cipher = Cipher.getInstance(“AES”); cipher.init(Cipher.ENCRYPT_MODE, skeySpec); byte[] encrypted = cipher.doFinal(str.getBytes()); return new BASE64Encoder().encode(encrypted); ruby def aes_decrypt(key, encrypted) decipher =OpenSSL::Cipher::Cipher.new(“aes-256-cbc”) decipher.decrypt decipher.padding = 0 decipher.key = key d = decipher.update(encrypted) d << decipher.final logger.debug "email #{d.to_s}" […]

JSP,它的工作方式类似于Ruby / Rails / Erb中的yield,layout,content_for

我试图弄清楚如何最有效地重用JSP代码。 我喜欢Rails / erb以这种方式工作的方式……产量,布局,content_for 例: main_layout.erb.html 使用 A simple page Hello, Rails! 在控制器中 layout “main_layout” 使用JSP(不使用额外的框架),我可以得到的最接近的是什么? 我知道JSP包含但是这与yield不同。 有什么建议么? 谢谢

Ruby和duck打字:合同设计不可能?

Java中的方法签名: public List getFilesIn(List directories) 类似的ruby def get_files_in(directories) 对于Java,类型系统为我提供了有关该方法所期望和提供的信息。 在Ruby的情况下,我不知道我应该传递什么,或者我期望收到什么。 在Java中,对象必须正式实现接口。 在Ruby中,传入的对象必须响应此处定义的方法中调用的任何方法。 这似乎很成问题: 即使拥有100%准确,最新的文档,Ruby代码也必须公开其实现,打破封装。 除了“OO纯度”,这似乎是一个维护噩梦。 Ruby代码让我不知道返回了什么; 我必须基本上进行实验,或者阅读代码以找出返回对象将响应的方法。 不打算讨论静态打字与鸭子打字,而是希望了解如何维护一个几乎没有合同设计能力的生产系统。 更新 没有人真正通过这种方法所需的文档来解决方法内部实现的暴露问题。 由于没有接口,如果我不期望某个特定类型,我不必逐条列出我可能调用的每个方法,以便调用者知道可以传入什么内容吗? 或者这只是一个没有真正出现的边缘案例?

用Ruby加密和用Java解密 – 为什么它不起作用?

我究竟做错了什么? 我希望Java程序打印“私有”。 我的目标是尝试用Java编写MessageEncryptor.decrypt ruby​​方法。 Ruby加密(大多数代码来自MessageEncryptor,但未修改为Marshal),但我已经将其解压缩,以便更容易看到发生了什么: require ‘openssl’ require ‘active_support/base64’ @cipher = ‘aes-256-cbc’ d = OpenSSL::Cipher.new(@cipher) @secret = OpenSSL::PKCS5.pbkdf2_hmac_sha1(“password”, “some salt”, 1024, d.key_len) cipher = OpenSSL::Cipher::Cipher.new(@cipher) iv = cipher.random_iv cipher.encrypt cipher.key = @secret cipher.iv = iv encrypted_data = cipher.update(“private”) encrypted_data << cipher.final puts [encrypted_data, iv].map {|v| ::Base64.strict_encode64(v)}.join("–") 哪个印刷: tzFUIVllG2FcYD7xqGPmHQ == – UAPvdm3oN3Hog9ND9HrhEA == Java代码: package decryptruby; […]

可以使用java cookbook来安装oracle java的本地副本吗?

我最近一直在努力学习厨师,因为我计划用它来部署服务器配置和服务器应用软件。 我在理解如何使用其他人的食谱时遇到了问题。 例如,我想部署JDK8u31。 我无法弄清楚如何实现这本食谱。 https://supermarket.chef.io/cookbooks/java 我阅读说明书,并看到以下内容 只需在您希望安装Java的地方包含java配方,例如运行列表(recipe [java])或cookbook(include_recipe’java’) 我尝试过了 include_recipe ‘java’ 在我的食谱里面叫common_java_server 然后 directory ‘/usr/lib/jvm/’ do owner ‘root’ group ‘root’ mode ‘0644’ end java_ark “jdk” do url ‘http://download.oracle.com/otn-pub/java/jdk/8u31/jdk-8u31-linux-x64.bin’ checksum ‘a8603fa62045ce2164b26f7c04859cd548ffe0e33bfc979d9fa73df42e3b3365’ app_home ‘/usr/lib/jvm/’ bin_cmds [“java”, “javac”] action :install end # set alternatives for java and javac commands java_alternatives “set java alternatives” do java_location ‘/usr/local/java’ bin_cmds [“java”, […]

需要客户端API来确定IP地址的地理位置

我需要Java或Ruby中的客户端API。 我更希望这只需要LOCAL。 事实上,这甚至可能不是IP,而是更多的数据库导入。 问题是我无法使用基于Web服务的Web服务,因为对我来说I / O太多了。 注意:通过地理位置,我真正需要的只是国家/地区。 我也会接受实际的纬度/长度坐标。

Java中“private static final”和“public static final”类变量的最近Ruby表示?

鉴于下面的Java代码,你可以在Ruby类中代表这两个static final变量的最接近的代码是什么? 并且,在Ruby中是否可以区分private static public static变量和public static变量? public class DeviceController { … private static final Device myPrivateDevice = Device.getDevice(“mydevice”); public static final Device myPublicDevice = Device.getDevice(“mydevice”); … public static void main(String args[]) { … } }