blowfish加密算法之BLOWFISH算法有何特点

blowfish  时间:2021-07-04  阅读:()

有谁会写java的Blowfish-CBC加密算法吗?

public class BlowfishAlgorithmEncryptor { public static final Integer BLOWFISH_IVLENGTH = 8; public static final Integer BLOWFISH_KEYSIZE = 128; public static final String BLOWFISH_ALGORITHM = "Blowfish"; public static final String BLOWFISH_CBC_PKCS5PADDING = "Blowfish/CBC/PKCS5Padding"; private Key key; public Key initialKey() { try { KeyGenerator keyGenerator = KeyGenerator .getInstance(BLOWFISH_ALGORITHM); keyGenerator.init(BLOWFISH_KEYSIZE.intValue()); key = keyGenerator.generateKey(); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } return key; } public byte[] encrypt(byte[] plainBytes) { try { ByteArrayInputStream inputStream = new ByteArrayInputStream( plainBytes); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); SecureRandom random = new SecureRandom(); byte[] iv = new byte[BLOWFISH_IVLENGTH]; random.nextBytes(iv); Cipher cipher = getCipher(Cipher.ENCRYPT_MODE, iv); outputStream.write(iv); CipherOutputStream cipherStream = new CipherOutputStream( outputStream, cipher); for (int i = inputStream.read(); i != -1; i = inputStream.read()) { cipherStream.write(i); } inputStream.close(); cipherStream.close(); outputStream.close(); return outputStream.toByteArray(); } catch (Exception e) { e.printStackTrace(); return null; } } public byte[] decrypt(byte[] cipherBytes) { try { ByteArrayInputStream inputStream = new ByteArrayInputStream( cipherBytes); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] iv = new byte[BLOWFISH_IVLENGTH]; inputStream.read(iv); Cipher cipher = getCipher(Cipher.DECRYPT_MODE, iv); CipherInputStream cipherStream = new CipherInputStream(inputStream, cipher); for (int i = cipherStream.read(); i != -1; i = cipherStream.read()) { outputStream.write(i); } inputStream.close(); cipherStream.close(); outputStream.close(); return outputStream.toByteArray(); } catch (Exception e) { e.printStackTrace(); return null; } } private Cipher getCipher(int mode, byte[] iv) { IvParameterSpec spec = new IvParameterSpec(iv); try { Cipher cipher = Cipher.getInstance(BLOWFISH_CBC_PKCS5PADDING); cipher.init(mode, key, spec); return cipher; } catch (Exception e) { e.printStackTrace(); return null; } } }

TrueCrypt是全球最著名、最权威的硬盘加密软件之一?

TrueCrypt是全球最著名、最权威的硬盘加密软件之一,迄今为止没有任何方法可以破解其加密的磁盘。

它拥有AES-256、Blowfish(448-bitkey)、CAST5、Serpent、Triple DES三种加密算法。

支持长密码,如果长度为20位,暴力破解需要1056993066125年时间!它的加密方式有三种:将文件虚拟为分区来加密,对分区乃至整个硬盘加密,对操作系统加密。

本文将选用其中的分区加密。

  

  运行下载回来的TrueCrypt Setup 6.2a.exe,可选择“Install”(安装)、“Extract”(解压)。

考虑到还要将其拷贝到移动硬盘上使用,请选择“Extract”,直到完成。

接着,将中文补丁解压,再拷贝到TrueCrypt的解压目录。

然后运行解压目录中的TrueCrypt,在程序主界面上单击“Settings”下的“Language”,再选择简体中文,整个程序即可中文化。

加密算法之BLOWFISH算法有何特点

AES-256和RSA-2048绝对可以,用RSA加密密匙,AES加密数据,因为非对称算法加密数据速度实在太慢,所以用非对称算法加密数据根本行不通,但是安全性非常高。

BuyVM迈阿密KVM上线,AMD Ryzen 3900X+NVMe硬盘$2/月起

BuyVM在昨天宣布上线了第四个数据中心产品:迈阿密,基于KVM架构的VPS主机,采用AMD Ryzen 3900X CPU,DDR4内存,NVMe硬盘,1Gbps带宽,不限制流量方式,最低$2/月起,支持Linux或者Windows操作系统。这是一家成立于2010年的国外主机商,提供基于KVM架构的VPS产品,数据中心除了新上的迈阿密外还包括美国拉斯维加斯、新泽西和卢森堡等,主机均为1Gbps带...

老周互联24小时无理由退款,香港原生IP,28元起

老周互联怎么样?老周互联隶属于老周网络科技部旗下,创立于2019年12月份,是一家具有代表性的国人商家。目前主营的产品有云服务器,裸金属服务器。创办一年多以来,我们一直坚持以口碑至上,服务宗旨为理念,为用户提供7*24小时的轮班服务,目前已有上千多家中小型站长选择我们!服务宗旨:老周互联提供7*24小时轮流值班客服,用户24小时内咨询问题可提交工单,我们会在30分钟内为您快速解答!另免费部署服务器...

青云互联:洛杉矶CN2弹性云限时七折,Cera机房三网CN2gia回程,13.3元/月起

青云互联怎么样?青云互联是一家成立于2020年6月份的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、香港服务器、美国云服务器,让您的网站高速、稳定运行。目前,美国洛杉矶cn2弹性云限时七折,美国cera机房三网CN2gia回程 13.3元/月起,可选Windows/可自定义配置。点击进入:青云互联官网青云互联优惠码:七折优惠码:dVRKp2tP (续...

blowfish为你推荐
有道云笔记网页版有道云笔记的桌面版不能像网页版那样直接存储网页剪报内容的吧?那不就桌面版和网页版的功能很不同?有道云笔记网页版有道云笔记怎么保存网页weakhashmapMap接口,HashMap和HashTable的相同点和不同点分别是什么?rdlregardless是什么意思tvosairpods什么意思 airpods连接方式是怎样的民生电商陆金所、民生电商哪个更适合投资?ruby语言公司实习让我学习RUBY语言,不知道RUBY语言发展前景怎么样,值不值的去学习。图片存储怎么把存图片存储另一种方式?12306注册铁路12306怎么注册用户名中科红旗Linux完全开源吗?中科红旗破产,对Linux有影响吗?
便宜域名注册 美国linux主机 中文域名申请 国外免费域名网站 187邮箱 linode日本 bash漏洞 新世界电讯 架设服务器 免费吧 能外链的相册 监控服务器 阿里云免费邮箱 免费网络 wordpress中文主题 申请免费空间 lamp架构 镇江高防 免费获得q币 免费的加速器 更多