云计算加密

原创 2012年03月28日 14:01:49

如果您使用 AES 加密,那么在加密明文时生成的二进制字符时,会需要使用 base-64 编码,至少在您希望在 Web 请求(例如,使用 SimpleDB 域)中使用它们时需要使用 base-64 编码。因此,我将编码所有加密的字符串,解码任何已加密的字符串。

用于 AES 的 Cryptographical 实现类(如清单 3 所示)不仅要处理 AES 加密,还要处理 base-64 编码和解码:


清单 3. 我的 Cryptographical 接口的一种 AES 实现
				
package com.b50.crypto;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import java.security.InvalidKeyException;
import java.security.Key;
import java.security.NoSuchAlgorithmException;

public class AESCryptoImpl implements Cryptographical {

 private Key key;
 private Cipher ecipher;
 private Cipher dcipher;

 private AESCryptoImpl(Key key) throws NoSuchAlgorithmException,
   NoSuchPaddingException, InvalidKeyException {
  this.key = key;
  this.ecipher = Cipher.getInstance("AES");
  this.dcipher = Cipher.getInstance("AES");
  this.ecipher.init(Cipher.ENCRYPT_MODE, key);
  this.dcipher.init(Cipher.DECRYPT_MODE, key);
 }

 public static Cryptographical initialize(CryptoKeyable key) throws CryptoException {
  try {
   return new AESCryptoImpl(key.getKey());
  } catch (NoSuchAlgorithmException e) {
   throw new CryptoException(e);
  } catch (NoSuchPaddingException e) {
   throw new CryptoException(e);
  } catch (InvalidKeyException e) {
   throw new CryptoException(e);
  }
 }

 public String encrypt(String plaintext) {
  try {
   return new BASE64Encoder().encode(ecipher.doFinal(plaintext.getBytes("UTF8")));
  } catch (Exception e) {
   throw new RuntimeException(e);
  }
 }

 public String decrypt(String ciphertext) {
  try {
   return new String(dcipher.doFinal(new BASE64Decoder().decodeBuffer(ciphertext)), 
     "UTF8");
  } catch (Exception e) {
   throw new RuntimeException(e);
  }
 }
}

大数据与云计算笔记[二]:安全加密

①对称加密基本概念 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。 速度快,对称性加密通常在消息发送方需要加密大...
  • leaf_130
  • leaf_130
  • 2016年10月15日 19:42
  • 1456

两种三维点云密度聚类方法的研究与对比

基于密度的点云聚类算法可以识别三维点云物体,也可以对三维点云去噪处理。 本文研究了两种基于密度的点云聚类方法,先简单介绍一下两种算法,后面会详细的介绍算法原理以及效果。 第一种方法叫做减法聚类 功能:...
  • zhubaohua_bupt
  • zhubaohua_bupt
  • 2017年04月16日 11:05
  • 1737

网易云音乐登录信息加密算法详解

原文地址:网易云音乐新登录API分析网易云音乐登录加密算法核心过程如下: text = { 'username': username, 'password': pass...
  • tzs_1041218129
  • tzs_1041218129
  • 2016年10月11日 16:28
  • 8195

微软云计算,腾讯阿里验证加密

云计算
  • adc_god
  • adc_god
  • 2017年12月12日 15:05
  • 99

云计算虚拟化识别不到加密狗,远程连接解决方案

  • 2016年09月05日 10:55
  • 1.43MB
  • 下载

八种有效手段确保云计算服务安全通过加密等方法实现云数据安全

云加密的一些规则
  • baidu_32145209
  • baidu_32145209
  • 2016年07月02日 09:21
  • 226

云计算虚拟化识别usb方案 加密狗集中管理/加密狗远程连接加密狗共享

虚拟机没有对应端口来时识别加密狗或usb设备,那我们就要采用第三方的设备来实现在虚拟机识别映射加密狗的功能。那我们怎么去选择第三方的设备呢,今天我给大家说一种设备usb server硬件服务器大家有没...
  • qq726128135
  • qq726128135
  • 2016年09月05日 10:29
  • 171

马哥教育_Linux云计算视频2017_马哥、老王老师Linux

  • 2018年01月15日 11:59
  • 49B
  • 下载

大数据 云计算 移动应用

  • 2018年01月13日 18:10
  • 100.65MB
  • 下载

XXXX云计算平台建设总体技术方案

  • 2018年01月17日 17:21
  • 3.14MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:云计算加密
举报原因:
原因补充:

(最多只允许输入30个字)