小编Rih*_*rds的帖子

Java安全:非法密钥大小或默认参数?

我之前曾问过一个关于这个问题的问题,但它没有得到正确的答案而且无处可去.

所以我已经澄清了关于这个问题的一些细节,我真的很想听听你如何解决这个问题或者我应该尝试什么的想法.

我在我的Linux服务器上安装了Java 1.6.0.12,下面的代码运行得非常完美.

String key = "av45k1pfb024xa3bl359vsb4esortvks74sksr5oy4s5serondry84jsrryuhsr5ys49y5seri5shrdliheuirdygliurguiy5ru";
try {
    Cipher c = Cipher.getInstance("ARCFOUR");

    SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "ARCFOUR");
    c.init(Cipher.DECRYPT_MODE, secretKeySpec);

    return new String(c.doFinal(Hex.decodeHex(data.toCharArray())), "UTF-8");

} catch (InvalidKeyException e) {
    throw new CryptoException(e);
}
Run Code Online (Sandbox Code Playgroud)

今天我在我的服务器用户上安装了Java 1.6.0.26,当我尝试运行我的应用程序时,我得到以下异常.我的猜测是它与Java安装配置有关,因为它在第一个工作,但在更高版本中不起作用.

Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
    at javax.crypto.Cipher.a(DashoA13*..) ~[na:1.6]
    at javax.crypto.Cipher.a(DashoA13*..) ~[na:1.6]
    at javax.crypto.Cipher.a(DashoA13*..) ~[na:1.6]
    at javax.crypto.Cipher.init(DashoA13*..) ~[na:1.6]
    at javax.crypto.Cipher.init(DashoA13*..) ~[na:1.6]
    at my.package.Something.decode(RC4Decoder.java:25) ~[my.package.jar:na]
    ... 5 common frames omitted
Run Code Online (Sandbox Code Playgroud)

第25行是: c.init(Cipher.DECRYPT_MODE, secretKeySpec);

注意:
*服务器的1.6.0.12 …

java

394
推荐指数
10
解决办法
39万
查看次数

如何让textarea填充div块?

看看我在这里得到了多远:[ 链接被删除 ]如何让textarea在绿色按钮上方填充div块?我的意思是,如何使textarea与注释块的宽度完全相同?

css textarea width

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

为什么在某些语言环境中没有正确填充Spring MessageSource参数?

mailconfirm.mail.body=<html><body><h3 style="margin: 0 0 1em;">Hi, {0}!</h3>\
    To confirm your email address click on the confirmation link given bellow. If clicking on the link doesn't work, copy and paste the link in a new browser tab. <br /><br />\
    <a href="http://www.domain.com/confirm_email.html?action=activate&hash={1}">http://www.domain.com/confirm_email.html?action=activate&hash={1}</a><br /><br />\
    Kind regards,<br />\
    Your Something
    </body></html>
Run Code Online (Sandbox Code Playgroud)

以上是用于下面的代码的特定消息.

String country = "AU";
Object[] args = new Object[] { account.getLogin(), confirm.getHash() };

helper.setText(appContext.getMessage("mailconfirm.mail.body", args,
                new Locale(country)), true);
Run Code Online (Sandbox Code Playgroud)

我调试了两个参数,它们都有正确的值.在调试appContext.getMessage线时,我看到{1}param没有填充正确的值,但是{0}.

什么想法可能是错的?我怀疑这可能是某些语言环境问题.

spring arguments internationalization double-quotes

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

如果找不到,@ PathVariable可以返回null吗?

@PathVariable如果路径变量不在url中,是否可以使返回null?否则我需要做两个处理程序.一个用于/simple另一个/simple/{game},但两者都做同样的事情,如果没有定义游戏我从列表中选择第一个然而如果有游戏参数定义然后我使用它.

@RequestMapping(value = {"/simple", "/simple/{game}"}, method = RequestMethod.GET)
public ModelAndView gameHandler(@PathVariable("example") String example,
            HttpServletRequest request) {
Run Code Online (Sandbox Code Playgroud)

这是我在尝试打开页面时得到的/simple:

引起:java.lang.IllegalStateException:在@RequestMapping中找不到@PathVariable [example]

java path-variables spring-annotations spring-3

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

如何获取Twitter中所有转发的列表?

我见过很多公司都在做推特彩票,用户必须转推他们的推文,然后其中一位转发者会得到奖品或其他什么.我现在想知道他们如何获得所有转发者的名单或选择获胜者?

我检查了Twitter API,发现只有这个:GET status/retweets /:id但是它最多返回100个转发器.这是唯一的方法吗?

twitter

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

Vector.<> vs array

使用a Vector.<>而不是array?的优缺点是什么?

arrays actionscript vector flashplayer-10

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

升级到springframework.scheduling.concurrent?

从Spring 3.0开始,不推荐使用ScheduledTimerTask,我无法理解如何升级到org.springframework.scheduling.concurrent.

    <bean id="timerFactoryBean" class="org.springframework.scheduling.timer.TimerFactoryBean">
        <property name="scheduledTimerTasks">
            <list>
                 <ref bean="onlineTimeSchedule" />
            </list>
            </property>
    </bean>

    <bean id="onlineTimeSchedule" class="org.springframework.scheduling.timer.ScheduledTimerTask">
        <property name="timerTask" class="com.example.OnlineTimerTask" />
        </property>
        <property name="period" value="60000" />
        <property name="delay" value="1000" />
    </bean>
Run Code Online (Sandbox Code Playgroud)

OnlineTimerTask扩展java.util.TimerTask的位置.这是一项简单的任务,每分钟都会向发布者发布一条消息.我检查了文档,但没有..我无法理解从并发包使用哪种方式,哪种方式最适合.

此外,我想在Java中将此xml转换为@Bean.

编辑:所以我尝试用@Bean和@Configuration实现xml,这就是我得到的.

@Configuration
public class ContextConfiguration {
    @Bean
    public ScheduledExecutorFactoryBean scheduledExecutorFactoryBean() {
        ScheduledExecutorFactoryBean scheduledFactoryBean = new ScheduledExecutorFactoryBean();
        scheduledFactoryBean.setScheduledExecutorTasks(new ScheduledExecutorTask[] {onlineTimeSchedule()});

        return scheduledFactoryBean;
    }

    @Bean
    public ScheduledExecutorTask onlineTimeSchedule() {
        ScheduledExecutorTask scheduledTask = new ScheduledExecutorTask();
        scheduledTask.setDelay(1000);
        scheduledTask.setPeriod(60000);
        scheduledTask.setRunnable(new OnlineTimerTask());

        return scheduledTask;
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码是否正确替换xml?在我的情况下,setScheduledExecutorTasks会正常工作吗?我的意思是,如果不止一次调用onlineTimeSchedule(),那么引用同一个bean实例会在这里工作吗?

scheduledFactoryBean.setScheduledExecutorTasks(new ScheduledExecutorTask[] {onlineTimeSchedule()});
Run Code Online (Sandbox Code Playgroud)

java spring spring-3

15
推荐指数
2
解决办法
9934
查看次数

我应该在每次查询之前ping mysql服务器吗?

所以我想知道是否应该或不应该ping mysql服务器(mysqli_ping)以确保服务器在运行查询之前始终处于活动状态?

php mysql ping

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

为什么在通过密钥时会得到CancelledKeyException?

为什么我CancelledKeyException一天要几次?我该怎么办呢?我的代码错了吗?

        Iterator<SelectionKey> keys = selector.selectedKeys().iterator();
        while (keys.hasNext()) {

            SelectionKey key = (SelectionKey) keys.next();
            keys.remove();

            try {
                if (key.isValid()) {
                    if (key.isReadable()) {
                        readHandler.handle((Connection) key.attachment());
                    }
                    if (key.isWritable()) {
                        writeHandler.handle((Connection) key.attachment());
                    }
                    if (key.isAcceptable()) {
                        acceptHandler.handle(key);
                    }
                }
            } catch (CancelledKeyException e) {
                _logger.error("CanceledKeyException in while loop:", e);
            }
        }
Run Code Online (Sandbox Code Playgroud)

例外:

java.nio.channels.CancelledKeyException: null
    at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:55) ~[na:1.6.0_12]
    at sun.nio.ch.SelectionKeyImpl.readyOps(SelectionKeyImpl.java:69) ~[na:1.6.0_12]
    at java.nio.channels.SelectionKey.isWritable(SelectionKey.java:294) ~[na:1.6.0_12]
    at project.engine.io.SimpleReactor.work(SimpleReactor.java:194) ~[engine-02.06.11.jar:na]
    at project.server.work.AbstractWorker$1.run(AbstractWorker.java:20) [server-21.05.11.jar:na]
    at java.lang.Thread.run(Thread.java:619) [na:1.6.0_12]
Run Code Online (Sandbox Code Playgroud)

java networking nio exception

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

如何在CSS中选择所有伪类?

我有一个按钮,我想知道是否有可能使css更短.

.button a:link, .button a:visited, .button a:hover, .button a:active {
    color: #000;
    text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)

我的意思是:

.button a:* {
    color: #000;
    text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)

也许没有任何更短的方式,但我只是想知道.我发现了这样的事情:

.button a:link:visited:hover:active {
    color: #000;
    text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用,不知道为什么..有关信息 - 我在文件顶部的一般css:

a:link {
    color: #DA5632;
}
a:visited {
    color: #CE3408;
}
a:hover {
    color: #289BF8;
}
a:active {
    color: #CE3408;
}
Run Code Online (Sandbox Code Playgroud)

所以按钮类a应该覆盖主要的css.

css css-selectors pseudo-class

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