草庐IT

aes_encrypt

全部标签

java - 这种 AES 加密是否足够安全?

我从http://www.ravenblast.com/index.php/blog/android-password-text-encryption/得到了这段代码而且,虽然它有效,但我越来越怀疑它不够安全。根据其他来源,似乎没有任何必要的初始化vector。publicstaticStringencrypt(StringtoEncrypt,byte[]key)throwsException{SecretKeySpecskeySpec=newSecretKeySpec(key,"AES");Ciphercipher=Cipher.getInstance("AES");cipher.i

java - 调试 AES-CMAC,生成错误答案

我正在使用以下代码和类从AES_CMAC生成多样化key。doFinal方法每次返回不同的key,因为输入和masterKey是常量。publicbyte[]calculateDiverseKey(byte[]input)throwsInvalidKeyException,NoSuchAlgorithmException{AesCmacmac=null;mac=newAesCmac();SecretKeykey=newSecretKeySpec(masterKey,"AES");mac.init(key);//setmasterkeymac.updateBlock(input);//g

Python学习笔记——AES 加密/解密

前言:AES,高级加密标准。目前比较流行的对称加密算法。是一种对称加密算法,即加密和解密都用相同的密钥。AES只是个基本算法,实现AES有几种模式,主要有ECB、CBC、CFB等几种模式。CBC模式中还有一个偏移量参数IV。AES加密有AES-128、AES-192和AES-256三种,分别对应三种密钥长度128位(16字节)、192位(24字节)和256位(32字节)。密钥越长,安全性越高,加密和解密时间也会更长。一般默认是128位,其安全性完全够用。一、加密/解密时,字节数不够时的处理:加密时:因为密钥是16字节,所以明文加密时,字符串不足16字节的倍数,则要补充个数,例如:少4个,要补c

java - PKCS5Padding 可以使用 AES/GCM 模式吗?

AES/GCM的填充模式是什么?我知道它可以是NoPadding,因为在ECB模式下它可以是PKCS5Padding,在GCM模式下怎么样?在JCE接口(interface)中,我们需要提供“算法/模式/填充”(Reference)。所以我使用下面的代码来获取实例,它在JDK中工作,但在IBMSDK中失败,它说cannotfindproviderforsupportingAES/GCM/PKCS5PaddingCipher.getInstance("AES/GCM/PKCS5Padding");填充的实际用例是什么? 最佳答案 GC

java - Cipher.getInstance() 和 Cipher.getInit() 用于 AES 加密的随机 IV 情况下的每条消息

在多线程Java应用程序中,我们使用AES-256对磁盘文件进行加密和解密。请注意,多个线程可以同时调用不同文件的加密和解密方法。加密:Cipherencrypter=Cipher.getInstance(algorithm,newBouncyCastleProvider());IvParameterSpecivSpec=getIvParamSpec(encrypter.getBlockSize());encrypter.init(Cipher.ENCRYPT_MODE,key,ivSpec);//..encryptthedata解密:Cipherdecrypter=Cipher.ge

java - 为什么这个 AES 加密程序在每次调用时给出不同的值?

基本上我找到了这个代码,由某人发布,它允许您在AES中加密消息并解密它。我对这个加密东西有点陌生,我想知道,它使用的种子值在哪里,种子每次都是随机的吗?因为从表面上看,同一个String加密后的结果是不一样的。谢谢。importjava.awt.event.*;importjava.awt.*;importjavax.swing.*;importjava.security.*;importjavax.crypto.*;importjavax.crypto.spec.*;importjava.io.*;publicclassAESGUIextendsJPanel{publicstatic

使用 32 字节 key 的 Java AES 加密 - key 大小无效

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:InvalidKeyExceptionIllegalkeysizepublicstaticbyte[]encryptBytes(byte[]bytes,byte[]key){Ciphercipher=null;try{cipher=Cipher.getInstance("AES/ECB/PKCS5Padding");SecretKeySpecsecretKey=newSecretKeySpec(key,"AES");cipher.init(Cipher.ENCRYPT_MODE,secretKey);retur

java - AES-256 和 PKCS7Padding 在 Java 中失败

我有几个库,C#、PHP和Android,它们都以相同的方式加密/解密字符串,因此它们彼此兼容,即C#将数据写入数据库并加密,PHP可以成功解密它并返回原始字符串。我现在需要对标准Java应用程序做同样的事情,所以我从我的Android库中获取代码并需要库,但我遇到了异常。据我所知,代码不是特定于Android的,因此应该不是问题。下面是我的加密函数publicstaticStringencrypt(StringplainPasword){Stringpassword="";try{SecretKeySpeckey=newSecretKeySpec("hcxilkqbbhczfeult

java - 在 Java 中解密 linux encfs(标准配置,192 位 aes)

有没有人尝试破译使用Java中的linuxencfs加密的文件?我有兴趣解密文件,只是文件名(不是整个文件)。我试过:SecretKeyFactoryfactory=SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");//SecretKeyFactoryfactory=SecretKeyFactory.getInstance("PBKDF2WithMD5AndAES");KeySpecspec=newPBEKeySpec("asdasd".toCharArray(),newString("Ip/6nf5p4Cvg4uocLdIeHJ7u

java - 如何将 Jetty 与 Let's Encrypt 证书一起使用?

我想使用来自Let'sEncrypt的证书有大量的Jetty服务器。其中一个问题是Let'sEncrypt的证书有一个lifetimeof90days.为了处理这个问题,Jetty服务器或一些额外的代码必须经常更新证书。Jetty可以处理这个self吗?如果是,我该如何启用它?如果我需要使用Javaclient自行实现它那么如何在不重启Jetty服务器的情况下通过JettyAPI动态替换证书?编辑:一些相关的和部分有用的链接:settingsslkeystoreatruntimeinJettyChangingJettySSLservercertificateon-the-fly