一种云租户关键信息的加密方法

文档序号:9527373阅读:303来源:国知局
一种云租户关键信息的加密方法
【技术领域】
[0001]本发明公开一种云租户关键信息的加密方法,属于信息加密管理技术领域。
【背景技术】
[0002]云计算是分布式处理(Distributed Computing)、并行处理(ParallelComputillg)和网格计算(Grid Computillg)的延续和发展,或者说是这些计算机科学概念的商业实现。它不完全是计算,也不纯粹是存储,而是集计算和存储于一身,将服务器、网络、应用程序以及数据库等各种资源通过互联网为用户提供综合服务的一种理念。云计算中拥有大量用户,使用云计算平台资源时,用户个人信息的安全问题十分重要,通常使用的MD5加密方法,主要是对云租户的密码口令进行加密,但是当用户的密码强度一般甚至过低时,可通过设置字典来进行破解;或者通过在线的MD5值查询网站提供的MD5密码值进行破解;也可通过社会工程学来获取或者重新设置用户的密码。因此随着技术的发展,MD5加密方法安全性明显不足。本发明提供一种云租户关键信息的加密方法,采用通过对明文进行MD5加密,同时对UUID进行加密,然后两者通过ascll码的方式进行位运算,再通过MD5加密,然后把UUID原始数据与密文进行连接从而达到一种密码强度极高的密文,从而解决在云计算这种开放互联的环境中对托管数据进行访问控制以保障用户数据私密性的问题。
[0003]UUID,Universally Unique Identifier,简称 UUID,通用唯一识别码。是一种软件建构的标准,也为自由软件基金会组织在分散式计算环境领域的一部份。UUID让分散式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。
[0004]MD5就是采用单向加密的加密算法,MD5具有两个特性:第一是任意两段明文数据,加密以后的密文不能是相同的;第二是任意一段明文数据,经过加密以后,其结果必须永远是不变的。前者意为不可能有任意两段明文加密以后得到相同的密文,后者意为如果我们加密特定的数据,得到的密文一定是相同的。

【发明内容】

[0005]本发明针对现有加密方法对云计算平台用户的信息保护强度不够的问题,提供一种云租户关键信息的加密方法,提高在云计算这种开放互联的环境中对托管数据进行访问控制以保障用户数据私密性水平。
[0006]本发明提出的具体方案是:
一种云租户关键信息的加密方法,云租户注册输入注册密码,同时生成UUID,将UUID截取成字符串,将两者各自进行MD5加密,加密后的密码和UUID字符串各自形成两个字符数组,将两个字符数组中的字符按照位置转换为ASCLL码并按位进行逻辑操作,将操作后的ASCII码再转换成字符串,再次通过MD5加密成最终密码,把截取成字符串的UUID数据和最终密码连接到一块形成新密码存入数据库中。
[0007]云租户新密码存入数据库后,再次进行登录时,通过用户名从数据库中提取密码及截取成字符串的UUID数据,利用截取成字符串的UUID数据与用户的注册密码重复进行生成新密码的操作,得到验证密码,再与数据库中的密码进行对比验证。
[0008]所述将两个字符数组中的字符按照位置转换为ASCLL码并按位进行与或非逻辑操作中的一种操作。
[0009]将云租户注册同时生成UUID,截取成32bit的字符串。
[0010]所述把截取成字符串的UUID数据和最终密码连接到一块形成64位的新密码存入数据库中。
[0011]本发明的有益之处是:
本发明利用云租户注册输入注册密码,同时生成UUID,将UUID截取成字符串,将两者各自进行MD5加密,加密后的密码和UUID字符串各自形成两个字符数组,将两个字符数组中的字符按照位置转换为ASCLL码并按位进行逻辑操作,将操作后的ASCII码再转换成字符串,再次通过MD5加密成最终密码,把截取成字符串的UUID数据和最终密码连接到一块形成新密码存入数据库中;采用通过对明文进行MD5加密,同时对UUID进行加密,然后两者通过ascll码的方式进行位运算,再通过MD5加密,然后把UUID原始数据与密文进行连接从而达到一种密码强度极高的密文,从而解决在云计算这种开放互联的环境中对托管数据进行访问控制以保障用户数据私密性的问题,提高了用户数据私密性水平。
【具体实施方式】
[0012]例举一个【具体实施方式】,进一步说明本发明。采用编程语言:java;运行环境:win7_64bit、4g 内存、inteli5_4210 处理器。
[0013]一种云租户关键信息的加密方法,云租户注册输入注册密码,同时生成UUID,将UUID截取成字符串,将两者各自进行MD5加密,加密后的密码和UUID字符串各自形成两个字符数组,将两个字符数组中的字符按照位置转换为ASCLL码并按位进行逻辑操作,将操作后的ASCII码再转换成字符串,再次通过MD5加密成最终密码,把截取成字符串的UUID数据和最终密码连接到一块形成新密码存入数据库中。其中将云租户注册同时生成UUID,截取成32bit的字符串,MD5加密也同样为32bit,最终形成的新密码为64位,存入数据库中。此外将两个字符数组中的字符按照位置转换为ASCLL码并按位可以进行与或非逻辑操作中的一种操作。
[0014]云租户新密码存入数据库后,再次进行登录时,通过用户名从数据库中提取密码及截取成字符串的UUID数据,利用截取成字符串的UUID数据与用户的注册密码重复进行生成新密码的操作,得到验证密码,再与数据库中的密码进行对比验证。
[0015]上述云租户关键信息的加密方法,其核心算法推导式为UUID+MD5 {ASCLL (MD5 (userPassword)) | ASCLL (MD5 (UUID))},加密过程算法代码为:
/林
* MD5进行32位加密方法 */
public String Md5String(String str)
{
String retuStr = 〃〃;try {
MessageDigest md = MessageDigest.getlnstance (〃MD5〃);//使用java.security.MessageDigest 类来 MD5
md.update (str.getBytes ()); byte b [] = md.digest ();
int i; StringBuffer buf = new StringBuffer (〃〃); for (int j = 0; j < b.length; j++) { i = b[j]; if (i〈0) i+= 256; if (i〈16)
buf.append (^0^);
buf.append (Integer.toHexString (i));
}
retuStr = buf.toStringO ;
} catch (NoSuchAlgorithmExcept1n e) {
// TODO Auto-generated catch block e.printStackTrace ();
}
return retuStr;
}
public static void main(String[] args) {
SuperMd5 sm = new SuperMd5 () ;// 创建一个对象
String userPassword = 〃qwe ! @#〃; // 假设用户输入的密码是〃qwe !
String uuid = UUID.randomUUID ().toStringO ;
String newuuid = uuid.substring (0,8)+uuid.substring (9,13) +uuid.substring (14,18) +
uuid.substring(19, 23) +uuid.substring(24, 36) ;// 获取一个 32
位的字符串
String passwordMd5 = sm.Md5String (userPassword) ; //对用户密码进行32位MD5加密操作
String uuidMd5 = sm.Md5String (newuuid) ;//对生成随机的
uuid进行32位加密操作
char[] passArray = passwordMd5.toCharArray () ;//把加密后的密码字符转换为字符数组
char [] uuidArray = uuidMd5.toChar Array () ;// 把加密后的
uuid字符转换为字符数组
char口 parm = new char[32];for (int i=0;i〈32;i++) {
//密码与uuid的每一个字符转换为ascll码之后做一次按位的或运算 parm[i]= (char)((int)passArray[i]|(int)uuidArray[i]);
}
String str = new String (parm) ;//把字符数组转换为字符串;
String strMd5 = sm.Md5String(str) ;//把位运算后的字符串进行MD5加密
String userSuperPassword = newuuid+strMd5; // 最终密码是“运算后的字符串进行MD5加密” + “最初生成的UUID”
System, out.println(userSuperPassword);
}
本发明可以应用于云平台下,保障用户信息安全。
【主权项】
1.一种云租户关键信息的加密方法,其特征是云租户注册输入注册密码,同时生成UUID,将UUID截取成字符串,将两者各自进行MD5加密,加密后的密码和UUID字符串各自形成两个字符数组,将两个字符数组中的字符按照位置转换为ASCLL码并按位进行逻辑操作,将操作后的ASCII码再转换成字符串,再次通过MD5加密成最终密码,把截取成字符串的UUID数据和最终密码连接到一块形成新密码存入数据库中。2.根据权利要求1所述的一种云租户关键信息的加密方法,其特征是云租户新密码存入数据库后,再次进行登录时,通过用户名从数据库中提取密码及截取成字符串的UUID数据,利用截取成字符串的UUID数据与用户的注册密码重复进行生成新密码的操作,得到验证密码,再与数据库中的密码进行对比验证。3.根据权利要求1或2所述的一种云租户关键信息的加密方法,其特征是所述将两个字符数组中的字符按照位置转换为ASCLL码并按位进行与或非逻辑操作中的一种操作。4.根据权利要求3所述的一种云租户关键信息的加密方法,其特征是将云租户注册同时生成UUID,截取成32bit的字符串。5.根据权利要求4所述的一种云租户关键信息的加密方法,其特征是所述把截取成字符串的UUID数据和最终密码连接到一块形成64位的新密码存入数据库中。
【专利摘要】本发明公开一种云租户关键信息的加密方法,属于信息加密管理技术领域;本发明采用通过对明文进行MD5加密,同时对UUID进行加密,然后两者通过ascll码的方式进行位运算,再通过MD5加密,然后把UUID原始数据与密文进行连接从而达到一种密码强度极高的密文,从而解决在云计算这种开放互联的环境中对托管数据进行访问控制以保障用户数据私密性的问题。
【IPC分类】H04L29/08, H04L9/08, H04L9/06
【公开号】CN105281901
【申请号】CN201510614449
【发明人】贾伟, 郭锋
【申请人】浪潮集团有限公司
【公开日】2016年1月27日
【申请日】2015年9月24日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1