小编Jas*_*ols的帖子

Clone()vs Copy构造函数 - 在java中推荐

克隆方法与java中的复制构造函数.哪一个是正确的解决方案.在哪里使用每个案例?

java clone copy-constructor

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

如何加密哈希JSON对象?

以下问题比最初看起来更复杂.

假设我有一个任意的JSON对象,可能包含任何数量的数据,包括其他嵌套的JSON对象.我想要的是JSON数据的加密哈希/摘要,而不考虑实际的JSON格式本身(例如:忽略换行符和JSON令牌之间的间距差异).

最后一部分是一项要求,因为JSON将由许多不同平台上的各种(de)序列化程序生成/读取.我知道至少有一个Java的JSON库在反序列化期间读取数据时完全删除了格式.因此,它将打破哈希.

上面的任意数据子句也使事情变得复杂,因为它阻止我以给定顺序获取已知字段并在哈希之前连接它们(大致考虑Java的非加密hashCode()方法是如何工作的).

最后,将整个JSON字符串散列为一块字节(在反序列化之前)也是不可取的,因为在计算散列时应该忽略JSON中的字段.

我不确定这个问题有一个很好的解决方案,但我欢迎任何方法或想法=)

json cryptography canonicalization

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

它不会抛出异常ConcurrentModificationException

我有下面的代码,我希望它抛出一个ConcurrentModificationException,但它运行成功.为什么会这样?

public void fun(){
    List <Integer>lis = new ArrayList<Integer>();
    lis.add(1);
    lis.add(2);

    for(Integer st:lis){
        lis.remove(1);
        System.out.println(lis.size());
    }
}

public static void main(String[] args) {
    test t = new test();
    t.fun();
}
Run Code Online (Sandbox Code Playgroud)

java iterator

10
推荐指数
1
解决办法
954
查看次数

如何在代码中安全地存储PrivateKey

我正在开发一个软件项目,其中应用程序将最终在不受信任的环境中运行.我需要执行一些辅助加密签名(这意味着这不是保护数据的主要方法),但不希望将密钥保留在普通视图中:

private static final String privateKey = "00AABBCC....0123456789";
Run Code Online (Sandbox Code Playgroud)

我可以使用什么方法来合理地保护这个?我知道没有什么是完全证明,但这将在安全墙中添加一个额外的层.

为了澄清:我有一个本质上是一个字符串,我不希望在调试器中或通过反射很容易地将其拉出来.我知道类文件的反编译实际上可能会造成这种风险,但这是一个可接受的风险.

显然,将密钥存储在异地是理想的,但我无法保证能够访问Internet.

java obfuscation cryptography

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

从EditText中删除电子邮件和密码中的空格

EditText recEmail=(EditText)findViewbyId(R.id.email);
EditText recPassword=(EditText)findViewbyId(R.id.password);
String email=recEmail.getText().toString();
String password=recPassword.getText().toString();
Run Code Online (Sandbox Code Playgroud)

如果错误地按下了标签,则电子邮件和密码在字符串的开头,结尾或末尾包含空格.

我需要白色空间的文字,请尽可能帮忙.

提前致谢....!!!

java android

6
推荐指数
3
解决办法
8745
查看次数

jarsigner -verify适用于Java 6,但不适用于Java 7

几天来,我一直在抨击我的头,我完全被难倒了.这是破败的:

  1. 我有一个Eclipse插件项目使用Tycho来构建Maven 3
  2. 在Maven中,我已经设置了maven-jarsigner-plugin,用于使用我的密钥库对jar进行签名(请参阅下面的密钥库详细信息)
  3. 我有一个代码签名证书,由Thawte在我的密钥库中签名

我可以从目标/*获取任何已签名的jar文件,并在其上运行'jarsigner -verify'.这是发生的事情:

#java 6 on a VM
vagrant@test2:/vagrant/com.example.plugins.eclipse/target$ jarsigner -verify com.example.eclipse-0.1.3-SNAPSHOT.jar
jar verified.
Run Code Online (Sandbox Code Playgroud)

下一个:

#java 7 on a completely different vm
vagrant@test1:/vagrant$ jarsigner -verify com.example.eclipse-0.1.3-SNAPSHOT.jar
jar verified.

Warning:
This jar contains entries whose certificate chain is not validated.

Re-run with the -verbose and -certs options for more details.
Run Code Online (Sandbox Code Playgroud)

我注意不要使用安装了Java6和Java7的机器,因此不是这个问题

我也不相信它是基于算法的,如本期所述,因为我可以使用Java 6或Java 7对项目进行签名,它始终在Java6中进行验证,从不在Java7中进行验证,无论我使用哪个环境签署了jar .

这是keytool -list的输出

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 3 entries …
Run Code Online (Sandbox Code Playgroud)

java keytool jarsigner

5
推荐指数
2
解决办法
9524
查看次数

使用JPA Annotations和Map <String,String>和varchar长度

我有一个包含以下成员属性的实体:

@Id
protected String id;

@ElementCollection(targetClass = String.class)
@MapKeyClass(String.class)      
protected Map<String, String> data = new HashMap<String,String>();
Run Code Online (Sandbox Code Playgroud)

这映射到两个表,一个ENTITY表和一个ENTITY_DATA表,其中包含HashMap中每个元素的行.它将HashMap中的值映射为VARCHAR(256),我需要它为VARCHAR(1024).可以这样做吗?我无法在ElementCollection或MapKeyClass注释中找到允许这样做的任何内容.

java hibernate jpa

3
推荐指数
1
解决办法
1799
查看次数

Android活动被杀死,如何使其无限期运行

我有一个类似于数码相框的应用程序.它展示了一个静态网站,只是一个显示本地HTML的webview.我希望它运行得非常出色,我已经获得了唤醒锁,但它确实在某个时候应用程序不断被杀死.我如何阻止android杀死我的长期活动?

java android

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