Tag: 加密

Java的弱密码套件列表

我正在运行一个需要弱密码套件黑名单的服务器。 那以下哪一项很弱? http://java.sun.com/javase/6/docs/technotes/guides/security/SunProviders.html#SunJSSEProvider

Java AES / GCM / NoPadding – 什么是cipher.getIV()给我的?

我在Java 8中使用AES/GCM/NoPadding加密,我想知道我的代码是否存在安全漏洞。 我的代码似乎有效 ,因为它加密和解密文本,但一些细节尚不清楚。 我的主要问题是: Cipher cipher = Cipher.getInstance(“AES/GCM/NoPadding”); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] iv = cipher.getIV(); // ????? IV是否满足“对于给定的密钥,IV不得重复”的要求。 来自RFC 4106 ? 我也很感激我对相关问题的任何答案/见解(见下文),但第一个问题最让我烦恼。 我不知道在哪里可以找到解决此问题的源代码或文档。 这是完整的代码,粗略。 如果我在撰写这篇文章时引入了错误,我深表歉意: class Encryptor { Key key; Encryptor(byte[] key) { if (key.length != 32) throw new IllegalArgumentException(); this.key = new SecretKeySpec(key, “AES”); } // the output is sent to users byte[] encrypt(byte[] […]

Java – 使用现有公钥文件加密字符串

我在过去的4-5个小时里一直在研究这个问题,尽管找到的答案使用了从几种方法到整个~100系列的所有内容,但似乎无法找到真正有效的答案。 我无法想象没有一些简单的function可以做这么微不足道的事情:P 我有一套预先存在的公钥/私钥(实际上是两套 – 一个是由ssh-keygen生成的,另一个是由openssl生成的……所以无论什么格式都很酷)。 我所追求的只是一个简单的java,相当于我在python中写的东西 – key_object = someModule.KeyObject(nameOfPublicKeyFile) def encrypt (SomePlainText) : return someOtherModule.encrypt(key_object, SomePlainText) 任何帮助都是极好的!

为什么我的加密字符串看起来只包含问号?

我在Java中加密字符串,当我打印加密数据时,我只看到问号。 举个例子: 纯文本: jjkkjlkljkj 加密文字: ??????????? 在再次解密此文本后,我再次获得jjkkjlkljkj 。 所以看起来加密工作正常。 但为什么我只能看到问号呢?

java中的网络通信加密

我和朋友正在开发一个带有客户端/服务器的Java游戏 – 架构。 它运作良好,但我遇到了一个问题。 我们使用TCP套接字在服务器和客户端之间建立联网。 我们的网络协议没有加密,只能由不愿看流的人阅读。 我们考虑过如何在其中应用某种加密技术来隐藏登录信息并阻止人们编写自己的客户端。 但是添加/减少字节等基本内容似乎很容易理解。 用于加密游戏网络通信(或至少游戏登录信息)的常用方法是什么? 在java中编写服务器和客户端,是否有任何有用的Java库?

将密码加密从java转换为php

我正在尝试创建现有JSP程序的PHP版本,但是我坚持使用密码加密部分。 你能告诉我如何转换这个吗? 我知道它试图获得md5()但在那之后,我没有得到它。 我迷失在Stringbuffer和for()部分。 你能帮我吗? public static String encryptPassword( String password ) { String encrypted = “”; try { MessageDigest digest = MessageDigest.getInstance( “MD5” ); byte[] passwordBytes = password.getBytes( ); digest.reset( ); digest.update( passwordBytes ); byte[] message = digest.digest( ); StringBuffer hexString = new StringBuffer(); for ( int i=0; i < message.length; i++) { hexString.append( […]

javascript中的AES加密和java中的解密

我有一个令人兴奋的网络服务,用AES加密和解密,现在我必须以与java相同的方式加密,但是在javascript中。 我已经阅读了有关在javascript中执行此操作的所有主题,但未找到任何有用的解决方案。 Javascript总是以不同的方式加密,我找不到原因。 这是令人兴奋的java代码: public static String encrypt(String data) throws Exception { byte[] keyValue = encryptionKey.getBytes(); Key key = new SecretKeySpec(keyValue, “AES”); Cipher c = Cipher.getInstance(“AES/ECB/PKCS5Padding”); c.init(Cipher.ENCRYPT_MODE, key); byte[] encVal = c.doFinal(data.getBytes()); String encryptedValue = new BASE64Encoder().encode(encVal); return encryptedValue; } 这是我倾向于使用的javascript代码,但提供了不同的加密(CryptoJS): var encrypted = CryptoJS.AES.encrypt(data, encryptionKey); 或其中任何一个(GibberishAES): // Defaults to 256 bit encryption var encrypted […]

CipherInputStream和CipherOutputStream不生成文件

我有以下代码。 但是文件b.xlsx和c.xlsx是0字节。 为什么CipherOuputSteam不工作? public static void main(String[] args) throws Exception { KeyPair keys = KeyPairGenerator.getInstance(“RSA”).generateKeyPair(); Cipher cipher = Cipher.getInstance(“RSA”); cipher.init(Cipher.ENCRYPT_MODE, keys.getPublic()); FileInputStream fis; FileOutputStream fos; CipherOutputStream cos; fis = new FileInputStream(“C:/temp/a.xlsx”); fos = new FileOutputStream(“C:/temp/b.xlsx”); cos = new CipherOutputStream (fos, cipher); byte[] block = new byte[8]; int i; while ((i = fis.read(block)) != -1) { […]

如何加密.jar文件

我正在一个项目中,我们需要加密.jar文件,所以没有人可以访问jar文件中的.class文件….是否有任何java编码可以帮助我加密.jar文件?

如何正确使用CipherOutputStream加密和解密用log4j创建的日志(RollingFileAppender)

我在加密/解密log4j的RollingFileAppender生成的日志文件时遇到问题。 对于加密我试图扩展RollingFileAppender,只需将其称为EncryptedRollingFileAppender。 我重写了这个方法 setFile(String fileName, boolean append, boolean bufferedIO, int bufferSize) 基本上我使用CipherOutputStream和Base64OutputStream来加密和编码写入输出流的所有内容。 这是代码的一部分: … setImmediateFlush(true); FileOutputStream ostream = null; CipherOutputStream cstream = null; Base64OutputStream b64stream = null; try { byte[] keyBytes = “1234123412341234”.getBytes(); //example final byte[] ivBytes = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, […]