Java AES加密和解密

我想使用带有16字节密钥的128位AES加密来加密和解密密码。 我在解密值时收到javax.crypto.BadPaddingException错误。 我在解密时错过了什么? public static void main(String args[]) { Test t = new Test(); String encrypt = new String(t.encrypt(“mypassword”)); System.out.println(“decrypted value:” + t.decrypt(“ThisIsASecretKey”, encrypt)); } public String encrypt(String value) { try { byte[] raw = new byte[]{‘T’, ‘h’, ‘i’, ‘s’, ‘I’, ‘s’, ‘A’, ‘S’, ‘e’, ‘c’, ‘r’, ‘e’, ‘t’, ‘K’, ‘e’, ‘y’}; SecretKeySpec skeySpec = […]

可以实例化DocumentListener类型

我需要这样做: Value Change Listener to JTextField 我正在尝试使用Condemwnci的解决方案,但是我在行中收到了错误: textField.getDocument().addDocumentListener(new DocumentListener()在我的例子中是textField.getDocument().addDocumentListener(new DocumentListener() : jtxtfBuscarInv.getDocument().addDocumentListener(new DocumentListener() 在我的情况下,我想在Jtable中更新行,所以我的方法将是这样的: ordenador.setRowFilter(RowFilter.regexFilter(jtxtfBuscarInv.getText(), 0)); 我在Linux上,ubuntu 11.10,如果重要的话,使用Eclipse。 编辑: 我不明白为什么,但它的工作原理如下: textField.getDocument().addDocumentListener(this); 然后重写implements方法,而不是在同一行中完成所有操作。

Spring RequestMapping用于生成和使用JSON的控制器

使用多个Spring控制器来使用和生成application/json ,我的代码充满了长注释,如: @RequestMapping(value = “/foo”, method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) 有没有办法生成一个“复合/inheritance/聚合”注释与consumes和produces 默认值,这样我可以改为写下这样的东西: @JSONRequestMapping(value = “/foo”, method = RequestMethod.POST) 我们如何定义上面的@JSONRequestMapping ? 注意传入的value和method就像在@RequestMapping中一样,如果默认值不合适,也可以传入consumes或produces 。 我需要控制我要回来的东西。 我想要produces /使用注释方法,以便获得适当的Content-Type标头。

禁用多个日期范围jDateChooser

我想在JCalendar上禁用多个日期范围。 我正在执行这些步骤 ,但我需要知道如何添加多个日期评估程序。 请帮帮我,谢谢。 更新:我不知道为什么我无法禁用JCalendar上的日期。 我会把我的代码留在这里,以便你们可以检查它。 这是我的RangeEvaluator类,从这个类修改。 class RangeEvaluator implements IDateEvaluator { private DateUtil dateUtil = new DateUtil(); @Override public boolean isSpecial(Date date) { return false; } @Override public Color getSpecialForegroundColor() { return null; } @Override public Color getSpecialBackroundColor() { return null; } @Override public String getSpecialTooltip() { return null; } @Override public boolean isInvalid(Date […]

当其他包中有java文件时,如何编译多个java文件

我正在编译目录中的多个文件(javac * .java)但是当我尝试这样做时遇到问题: 我得到编译错误,说javac无法找到对象的符号。 我有多个包,包含运行主程序所需的java文件。 但似乎尝试逐个编译这些将无法正常工作。 它在我的IDE中运行正常,但我有兴趣通过命令提示符了解它是如何完成的。 主程序位于drivers文件夹中。 我已经尝试按依赖顺序编译文件但是没有用。

改变特定窗口的外观

我正在为更大的GUI应用程序编写脚本。 主应用程序窗口使用系统的LookAndFeel ,但我希望我的脚本的GUI使用Nimbus LookAndFeel 。 创建GUI后,我想将LookAndFeel设置回原始版本。 我觉得下面的SSCCE应该可以工作,但是在使用我的Component对象时我得到一个NullPointerException 。 import java.awt.Dimension; import java.awt.GridBagLayout; import javax.swing.*; import javax.swing.UIManager.LookAndFeelInfo; public class GUI extends JFrame { private static LookAndFeel originalLookAndFeel = UIManager.getLookAndFeel(); static { System.out.println(“At start, look and feel is ” + UIManager.getLookAndFeel().getName()); try { setNimbusLookAndFeel(); } catch (Exception e) { System.out.println(e.getMessage()); } System.out.println(“Look and feel changed to ” […]

将已检查的exception包装到Java中未经检查的exception中?

我在java中有这个工厂方法: public static Properties getConfigFactory() throws ClassNotFoundException, IOException { if (config == null) { InputStream in = Class.forName(PACKAGE_NAME).getResourceAsStream(CONFIG_PROP); config = new Properties(); config.load(in); } return config; } 我想将两个已检查的exception转换为未经检查的exception。 最好的方法是什么? 我应该捕获exception并使用捕获的exception作为内部exception抛出一个新的RuntimeException吗? 有没有更好的方法来做到这一点,或者我是否应该首先尝试这样做? 编辑: 只是为了澄清。 这些exception将是致命的,因为配置文件基本上是程序的操作,所有exception都将被捕获并记录在我的程序的顶层。 我的目的是避免不必要的抛出exception,将exception添加到调用我的工厂的每个方法的签名中。

LCP如何帮助查找模式的出现次数?

我已经读过最长公共前缀(LCP)可用于查找字符串中模式的出现次数。 具体来说,您只需要创建文本的后缀数组,对其进行排序,然后不进行二进制搜索以找到范围,以便您可以计算出现次数,只需计算每个连续条目的LCP即可。后缀数组。 虽然使用二进制搜索来查找模式的出现次数是显而易见的,但我无法弄清楚LCP如何帮助找到此处出现的次数。 例如,对于banana这个后缀数组: LCP Suffix entry N/A a 1 ana 3 anana 0 banana 0 na 2 nana LCP如何帮助找到像“banana”或“na”这样的子字符串的出现次数对我来说并不明显。 有什么帮助搞清楚LCP如何帮助吗?

如何实现@RequestMapping自定义属性

例如 ,进行子域映射 。 本文: 在Google App Engine上为同一应用程序管理多个域和子域建议解析Filter上的子域并将变量分配给ServletRequest头。 然后映射将如下所示: @RequestMapping(value = “/path”, headers=”subdomain=www”) public String subsiteIndexPage(Model model,HttpServletRequest request) { … } 如果我们想创建自定义@RequestMapping属性,例如子域,例如。 创建这样的映射: @RequestMapping(value = “/some/action”, subdomain = “www”) public String handlerFunction(){ … } 我们应该覆盖@RequestMapping @interface定义并覆盖RequestMappingHandlerMapping受保护的方法,我们自己的实现 (如JIRA所述:“ 允许自定义请求映射条件SPR-7812 ”)。 这样对吗? 任何人都可以提供一个提示,如何实现这一function? 想法1 : 正如原始jira线程所建议的那样,就是创建自己的RequestCondition实现 有一个项目在github上使用这个解决方案: https : //github.com/rstoyanchev/spring-mvc-31-demo/ 和相关的问题: 在Spring mvc 3.1中添加自定义RequestCondition 也许类型和方法的@Subdomain(“www”)映射是可能的解决方案吗? 链接到forum.springsource.com上的相同问题

如何使用给定的JNDI名称连接到Websphere数据源?

我正在使用Websphere Portal 7.0并使用RAD 8.0创建一个portlet。 我的portlet正在尝试与远程服务器建立db2连接。 我在本地编写了一个java程序来与服务器建立基本的JDBC连接,并从表中获取记录。 代码工作正常; 但是,当我将代码添加到我的portlet以及db2jcc4.jar时,连接不起作用。 我使用的是基本的: Connection connection = DriverManager.getConnection(“jdbc:db2://server:port/db:user=user;password=pw;”); 我认为使用Websphere数据源是正确的方法。 我知道数据源的JNDI名称,但我没有找到关于如何建立连接的明确示例。 有几个例子使用了一个DataSource类(我输入了这个类,这看起来好像它来自一个原生的java包,所以我在这里使用什么导入?)加上一个Context。 我遇到过如下代码: Context ctx = new InitialContext(); ctx.lookup(“jdbc/xxxx”); …有人可以为我打破这个吗? 编辑1 我根据列出的答案更新了我的代码。 我真的觉得我越走越近了。 这是我的getConnection()方法: private Connection getConnection() throws SQLException { javax.naming.InitialContext ctx = null; javax.sql.DataSource ds = null; System.out.println(“Attempting connection…” + DateUtil.now() ); try { ctx = new javax.naming.InitialContext(); ds = […]