小编use*_*519的帖子

从AES加密字符串中删除\ r和\n

我使用AES加密字符串,但加密的字符串包含\n\r结尾.

 public class AESImpl {

  private static String decryptedString;

  private static String encryptedString;

  public static void main(String[] args) throws NoSuchAlgorithmException, IOException,  ClassNotFoundException {

    String strToEncrypt = "This text has to be encrypted";
    SecretKey secretKey = generateSecretKey();
    String encryptStr = encrypt(strToEncrypt, secretKey);
    System.out.println("Encrypted String : " + encryptStr + "It should not come in new line");
    String decryptStr = decrypt(encryptStr, secretKey);
    System.out.println("Decrypted String : " + decryptStr);
  }

  private static SecretKey generateSecretKey() throws NoSuchAlgorithmException, IOException {
    KeyGenerator …
Run Code Online (Sandbox Code Playgroud)

java encryption newline aes carriage-return

7
推荐指数
2
解决办法
7924
查看次数

使用java中的密钥库存储AES密钥

我正在使用Java密钥库来存储AES加密的密钥.

final String strToEncrypt = "Hello World";
KeyGenerator kg = KeyGenerator.getInstance("AES");
kg.init(128);
SecretKey sk = kg.generateKey();
String secretKey = String.valueOf(Hex.encodeHex(sk.getEncoded()));   
//Storing AES Secret key in keystore
KeyStore ks = KeyStore.getInstance("JCEKS");
char[] password = "keystorepassword".toCharArray();
java.io.FileInputStream fis = null;
try {
  fis = new java.io.FileInputStream("keyStoreName");
  ks.load(fis, password);
} finally {
  if (fis != null) {
    fis.close();
  }

  KeyStore.ProtectionParameter protParam = 
    new KeyStore.PasswordProtection(password);

  KeyStore.SecretKeyEntry skEntry = new KeyStore.SecretKeyEntry(sk);
  ks.setEntry("secretKeyAlias", skEntry, protParam);
Run Code Online (Sandbox Code Playgroud)

但我得到以下例外.

线程"main"中的异常java.security.KeyStoreException:java.security.KeyStore.setEntry中的未初始化密钥库
(未知来源)

如何解决这个错误?提前致谢

java encryption aes keystore

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

如何生成 AES 密钥并将密钥写入 UNIX 中的文件

我必须为 AES 加密/解密生成一个随机密钥并将此密钥写入 UNIX 中的文件。有人可以帮助我学习如何执行此操作吗?

unix encryption aes

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

检查IP是否在Java中的子网范围内时出错

我使用以下代码来检查IP地址是否在给定的子网范围内.它适用于从0到31的网络前缀.但是当我将网络前缀值设置为32时,它给出较低的范围和较高的范围为0.0.0.0而不是10.198.23.4.我正在使用commons-net-3.3 jar.在上述方法中是否有任何错误,或者是有效检查Ip范围的其他可行方法.

public class TestIPRange {
public static void main(String[] args) {
  String ipRange = "10.198.23.4/32";
  String clientIp = "10.198.23.4";
  SubnetUtils utils = new SubnetUtils(ipRange);
  System.out.println("lower address: " + utils.getInfo().getLowAddress());
  System.out.println("higher address: " + utils.getInfo().getHighAddress());
  System.out.println(utils.getInfo().isInRange(clientIp));
}
}
Run Code Online (Sandbox Code Playgroud)

输出

低地址:0.0.0.0

更高地址:0.0.0.0

java ip networking

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

如何将AES加密中使用的密钥共享给其他一些应用程序进行解密?

我必须实现具有以下场景的AES加密/解密.

App1和App2有2个应用程序在不同的服务器上运行.App1将加密(使用AES加密)一些数据并将其提供给App2.App2将使用AES解密解密相同的数据.需要与App2共享密钥以进行解密.那么,如何与App2共享密钥?在这种情况下我们可以使用java密钥库吗?

java security encryption cryptography keystore

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

javax 自定义验证器的 Junit 测试用例

我正在 Spring Boot 应用程序中使用 javax 验证 API 进行跨字段验证。我有一个 User bean,我必须验证firstname两者lastname为空/空。该字段至少有一个应该有值。

我为此需求创建了自定义注释 ( NameMatch.java) 和自定义验证器 ( )。NameValidator.java

@NameMatch(first = "firstname", second = "lastname", message = "The first and lastname can't be null")
public class User  {

    private String firstname;

    private String lastname;

    @NotNull
    @Email
    private String email;

    @NotNull
    private String phone;
}
Run Code Online (Sandbox Code Playgroud)

名称匹配.java

@Target({TYPE, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Constraint(validatedBy = NameValidator.class)
@Documented
public @interface NameMatch
{
    String message() default "{constraints.fieldmatch}";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] …
Run Code Online (Sandbox Code Playgroud)

java validation hibernate-validator spring-boot junit5

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

GWT应用程序无法在IE11中运行

我有一个使用GWT 2.0.4并在IE8浏览器上运行良好的应用程序.在IE11中打开时,它会显示空白页面,并在下面给出错误消息.

com.google.gwt.core.client.JavaScriptException : (TypeError) : Object doesn’t support property or method ‘attachEvent’
Run Code Online (Sandbox Code Playgroud)

抛出异常是因为"attachEvent"是旧版Internet Explorer中使用的已弃用函数.IE11使用"addEventListener"方法而不是"attachEvent".

user.agent值设置为"ie6",因此我将其更改为"gecko1_8".更改用户代理后,它会打开应用程序,但表中的数据(GWT-ext GridPanel)会相互重叠,滚动条丢失,菜单栏的对齐方式也会更改.

启用兼容模式后,它正常工作.在IE11中运行我的应用程序的正确解决方法是什么?我是否需要升级GWT,如果是,那么哪个版本支持IE11?我不必使用"X-UA-Compatible = IE8"元标记....请帮忙

css gwt internet-explorer

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

重复的自定义对象被添加到哈希集中

我有一个 Employee 类,有 2 个属性 id 和 name。我将重写 hashcode 和 equals 方法,如下所示。

员工.java:

import java.util.Objects;

public class Employee {

    private int id;
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, name);
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj …
Run Code Online (Sandbox Code Playgroud)

java hashcode hashset

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