一种将局域网内ip生成6位随机字符加解密方法与流程

文档序号:16753616发布日期:2019-01-29 17:07阅读:654来源:国知局

本发明属于计算机加解密领域,涉及一种将局域网内ip生成6位随机字符加解密方法。



背景技术:

随着社会的不断进步,科技的高速发展,手机等手持终端的应用已经成为了常态,在现有网络等因素下服务器的云部署以及落地部署相结合已经是一种趋势。在网络出异常的情况下,手持终端的应用必须能够准确,快速的连接上落地部署的离线服务器。

目前手持终端快速切换到局域网的方式有多种方式:一种方式是不缓存相关的局域网信息到本地,直接根据内网的ip段全量轮询。一种是将相关的局域网信息在在线的情况下缓存到终端本地,在切换到离线服务情况下,通过轮询已经缓存的内网ip的方式进行尝试连接。这两种方式不仅耗费时间长,而且如果用明文传入ip容易暴露内网地址不安全。另一种方式是局域网内,服务器通过相应算法将内网ip加密成相关的密文。考虑到手持终端输入麻烦的特性。输入的位数需要短小,同时为了防范ip的暴露,需要生成的密文要可以随机变动,不能固定。



技术实现要素:

本发明主要目的是针对现在技术的不足,提出一种将局域网内ip生成6位随机字符加解密方法。

本发明解决其技术问题所采用的技术方案包括如下具体编解码步骤:

步骤(1)、服务器获取相应局域网的内网ip,然后通过添加“0”将ip补齐;

具体的:若ip地址为192.168.1.1,则按照ip补齐规则转换为192.168.001.001;

步骤(2)、将ip地址通过.符号切割成4位256进制数,按照相应规则转换成相应的10进制数字;

规则为:10开头的地址为a类地址,172开头为b类地址,192开头为c类地址;

a类地址区间为:10.0.0.0到10.255.255.255后3位转换成10进制后,最大内容为256*256*256+256*256+256=16843008,所以a类10进制区间为0--16843008;

b类地址在区间范围为:172.16.0.0到172.31.255.255后3位转换成10进制后,最大内容为2162944,b类地址在a类地址基础上最大偏移2162944,所以b类10进制区间为16843009--19005952;

c类地址区间为:192.168.0.0到192.168.255.255,因为c类地址前两位固定,只取后两位最大内容为65792,c类地址在b类地址基础上最大偏移65792,所以c类10进制区间为19005953--19071744;

步骤(3)、将上述ip转换成的10进制的数字,定义成字符串;a类地址不足8位字符串的往前补充0,补满8位字符串;

步骤(4)、将取得的值abcdefgh第四位开始插入随机数为c1,c1的取值范围为000-999,且c1补齐为三位数;假设随机数为c1,插入后得到的值为abcc1defgh;

步骤(5)、将abcc1defgh转换成52进制的数,通过大小写字母来表示。

本发明整个编码过程解码步骤与编码步骤相反,解码步骤如下:

步骤1、设将52进制的字母转换成10进制的字符为abcc1defgh;

步骤2、将abcc1defgh字符去除c1,即第4、5、6位字符,去除后内容为abcdefgh;

步骤3、提取abcdefgh的内容,并将提取的内容定义为数字;如果abcdefgh是以0开头的,则直接去除前面的0;

步骤4、根据数值的大小来确定是属于哪一类ip地址;0--16843008为a类地址,16843009--19005952为b类地址,19005953--19071744为c类地址;19006209属于19005953--19071744之间为c类地址;

步骤5、根据判断出的ip地址类型进行后续操作,如果是a类地址,将相关的内容直接转换成256进制,每个256进制间用.号分隔,最前面补上“10.”;如果是b类地址,先将数字减去16843008,将剩下的内容转换成256进制,每个256进制间用.号分隔,最前面补上172.;如果是c类地址将数字减去16843008再减去2162944,将剩下的内容转换成256进制,每个256进制间用.号分隔,最前面补上192.168.;数字19006209-16843008-2162944=257;转换成256进制后的内容为1.1,添加上前缀为192.168.1.1,整个解码过程结束。

本发明有益效果如下:

本发明中通过将相应的内网ip编码后可快速定位到相应的服务器,同时在手持端可方便输入,通过加密的方式隐藏了真实的ip,保证系统的安全性。

本发明节约时长,可以快速准确定位到内网ip地址,同时短小,方便手持终端输入。密文传输,隐藏了相应真实ip地址,防止暴露,系统安全有保障。

具体实施方式

下面对本发明作进一步的说明。

一种将局域网内ip生成6位随机字符加解密方法,具体编解码步骤:

步骤(1)、服务器获取相应局域网的内网ip,然后将ip补齐后。

如内网ip地址(192.168.1.1),按照ip补齐规则转换为(192.168.001.001)。

步骤(2)、将ip地址通过.符号切割成4位256进制数,按照相应规则转换成相应的10进制数字。

规则为:10开头的地址为a类地址,172开头为b类地址,192开头为c类地址。

a类地址区间为:10.0.0.0到10.255.255.255后3位转换成10进制后,最大内容为256*256*256+256*256+256=16843008,所以a类10进制区间为0--16843008。

b类地址在区间范围为:172.16.0.0到172.31.255.255后3位转换成10进制后,最大内容为2162944,b类地址在a类地址基础上最大偏移2162944,所以b类10进制区间为16843009--19005952。

c类地址区间为:192.168.0.0到192.168.255.255,因为c类地址前两位固定,只取后两位最大内容为65792,c类地址在b类地址基础上最大偏移65792,所以c类10进制区间为19005953--19071744。

例如:192.168.001.001处于c类地址转换10进制之后值为19006209;

步骤(3)、将上述ip转换成的10进制的数字,定义成字符串;a类地址不足8位字符串的往前补充0,补满8位字符串。

步骤(4)、将取得的值abcdefgh第四位开始插入随机数为c1,c1的取值范围为000-999,且c1补齐为三位数。假设随机数为c1,插入后得到的值为abcc1defgh。

例如:将取得的值19006209第四位开始随机插入000-999中间的数。假设随机数c1为000,插入后得到的值为19000006209。

步骤(5)、将abcc1defgh转换成52进制的数,通过大小写字母来表示。

例如:19000006209转换成52进制后为xyfzap,为了统一6位字符,如果不足6位统一补充a字符到6位。

上述是整个编码过程解码步骤与编码步骤相反,以xyfzap为例解码步骤如下:

步骤(1)、设将52进制的字母转换成10进制的字符为abcc1defgh;

例如:将xyfzap的52进制的字母,转换成10进制的字符,相应的字符结果为19000006209

步骤(2)、将abcc1defgh字符去除c1,即第4、5、6位字符,去除后内容为abcdefgh;

例如:将19000006209去除第4、5、6位字符后内容为19006209。

步骤(3)、提取abcdefgh的内容,并将提取的内容定义为数字。如果abcdefgh是以0开头的,则直接去除前面的0。假设值为00116209去除0后为116209。

步骤(4)、根据数值的大小来确定是属于哪一类ip地址。0--16843008为a类地址,16843009--19005952为b类地址,19005953--19071744为c类地址。19006209属于19005953--19071744之间为c类地址;

步骤(5)、根据判断出的ip地址类型进行后续操作,如果是a类地址,将相关的内容直接转换成256进制,每个256进制间用.号分隔,最前面补上10.。如果是b类地址,先将数字减去16843008,将剩下的内容转换成256进制,每个256进制间用.号分隔,最前面补上172.。如果是c类地址将数字减去16843008再减去2162944,将剩下的内容转换成256进制,每个256进制间用.号分隔,最前面补上192.168.。数字19006209-16843008-2162944=257。转换成256进制后的内容为1.1,添加上前缀为192.168.1.1。整个解码过程结束。

一种将局域网内ip生产6位随机字符加解密方法:手持终端,用于向用户提供获取服务请求操作和处理请求返回的结果;通信服务器,用于生成6位编码,并对客户端的请求进行处理,同时将相关房间号信息等进行保存,实现同一个房间号内用户进行交流通信,同时将处理结果发送给手持终端;离线客户端,用于展示通信服务器生成的6位编码,方便手持端输入。

本发明方法的具体步骤是:

一种将局域网内ip生成6位随机字符加解密方法。

本发明解决其技术问题所采用的技术方案包括如下具体编解码步骤:

步骤(1)、服务器获取相应局域网的内网ip,然后将ip补齐后。

如内网ip地址(192.168.1.1),按照ip补齐规则转换为(192.168.001.001)。

步骤(2)、将ip地址通过.符号切割成4位256进制数,按照相应规则转换成相应的10进制数字。

规则为:10开头的地址为a类地址,172开头为b类地址,192开头为c类地址。

a类地址区间为:10.0.0.0到10.255.255.255后3位转换成10进制后,最大内容为256*256*256+256*256+256=16843008,所以a类10进制区间为0--16843008。

b类地址在区间范围为:172.16.0.0到172.31.255.255后3位转换成10进制后,最大内容为2162944,b类地址在a类地址基础上最大偏移2162944,所以b类10进制区间为16843009--19005952。

c类地址区间为:192.168.0.0到192.168.255.255,因为c类地址前两位固定,只取后两位最大内容为65792,c类地址在b类地址基础上最大偏移65792,所以c类10进制区间为19005953--19071744。

例如:192.168.001.001处于c类地址转换10进制之后值为19006209;

步骤(3)、将上述ip转换成的10进制的数字,定义成字符串;a类地址不足8位字符串的往前补充0,补满8位字符串。

步骤(4)、将取得的值abcdefgh第四位开始插入随机数为c1,c1的取值范围为000-999,且c1补齐为三位数。假设随机数为c1,插入后得到的值为abcc1defgh。

例如:将取得的值19006209第四位开始随机插入000-999中间的数。假设随机数c1为000,插入后得到的值为19000006209。

步骤(5)、将abcc1defgh转换成52进制的数,通过大小写字母来表示。

例如:19000006209转换成52进制后为xyfzap,为了统一6位字符,如果不足6位统一补充a字符到6位。

上述是整个编码过程解码步骤与编码步骤相反,以xyfzap为例解码步骤如下:

步骤(1)、设将52进制的字母转换成10进制的字符为abcc1defgh;

例如:将xyfzap的52进制的字母,转换成10进制的字符,相应的字符结果为19000006209

步骤(2)、将abcc1defgh字符去除c1,即第4、5、6位字符,去除后内容为abcdefgh;

例如:将19000006209去除第4、5、6位字符后内容为19006209。

步骤(3)、提取abcdefgh的内容,并将提取的内容定义为数字。如果abcdefgh是以0开头的,则直接去除前面的0。假设值为00116209去除0后为116209。

步骤(4)、根据数值的大小来确定是属于哪一类ip地址。0--16843008为a类地址,16843009--19005952为b类地址,19005953--19071744为c类地址。19006209属于19005953--19071744之间为c类地址;

步骤(5)、根据判断出的ip地址类型进行后续操作,如果是a类地址,将相关的内容直接转换成256进制,每个256进制间用.号分隔,最前面补上10.。如果是b类地址,先将数字减去16843008,将剩下的内容转换成256进制,每个256进制间用.号分隔,最前面补上172.。如果是c类地址将数字减去16843008再减去2162944,将剩下的内容转换成256进制,每个256进制间用.号分隔,最前面补上192.168.。数字19006209-16843008-2162944=257。转换成256进制后的内容为1.1,添加上前缀为192.168.1.1。整个解码过程结束。

本发明提供了一种将局域网内ip生产6位随机字符加解密方案,可以快速准确定位到内网ip地址,同时短小,方便手持终端输入。密文传输,隐藏了相应真实ip地址,防止暴露,系统安全有保障。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1