数据变换方法及装置制造方法及图纸

技术编号:4250906 阅读:179 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数据变换方法及装置,涉及数据的处理算法领域,解决了目前变换方法比较复杂的问题。本发明专利技术从待变换数据串的预定位置获取偏移量;根据所述偏移量从待变换数据串中获取预定位数的数据;将所获取的数据变换为十进制数据;判断所述十进制数据的长度是否小于第一预定长度;如果所述十进制数据的长度不小于第一预定长度,则从所述十进制数据的低位开始连续取第一预定长度的数据作为变换后的数据;如果所述十进制数据的长度小于第一预定长度,则将所述十进制数据的高位补零至第一预定长度,并将高位补零后的数据作为变换后的数据。本发明专利技术主要用在各种需要进行数据变换的设备和方法中,如:动态口令的生成过程和设备。

【技术实现步骤摘要】

本专利技术涉及数据的处理算法领域,尤其涉及数据变换方法及装置
技术介绍
在使用各种计算机网络的时候,需要采用各种方式保证网络安全,例如对计算出 消息摘要(Message Digest)以保证消息的完整性,或者对用户输入的口令进行验证以确保 用户的合法性。 其中消息摘要应用原理为消息发送方通过单向Hash(哈希)加密函数对需要发 送的消息进行计算得出消息摘要,然后将消息和计算出的消息摘要同时发送给接收方,接 收方在接收到消息后按照消息发送方相同的方法计算出消息摘要,如果消息在发送的途中 被篡改,那么计算出的消息摘要和接收到的消息摘要是不会相同的;接收方只需要将计算 出的消息摘要与接收到的消息摘要进行比较就可知道消息是否被篡改了。因此消息摘要保 证了消息的完整性。该方案中采用单向Hash函数从需要发送的消息中计算出一串消息摘 要,这一串消息摘要亦称为数字指纹(Finger Print);消息摘要的数据长度是固定的,并且 不同的消息得到的消息摘要总是不同的,而同样的消息多次得到消息摘要必定一致。故而, 消息摘要可验证所接收的消息是否完整正确。 进行口令验证的原理为首先需要通过一串随机产生的数字或符号生成口令,将 该口令以一幅图片的形式输出,并在图片里加上一些干扰元素,由用户肉眼识别图片中的 口令信息,并将口令输入表单提交,服务器对用户输入的口令进行验证,在验证成功后才能 使用服务器提供的功能。 在实现上述消息摘要或口令验证的过程中,专利技术人发现现有技术中至少存在如下 问题在上述两项技术中都需要利用某种数据变换成另外一种数据,例如从消息中转换 出消息摘要,从随机数字或符号中生成口令;目前各个方案中都采用了不同的数据变换方 法,并且各自的变换方法比较复杂。
技术实现思路
本专利技术提供一种数据变换方法及装置,使得数据变换方法较为简单。 为达到上述目的,本专利技术采用如下技术方案 —种数据变换方法,包括 从待变换数据串的预定位置获取偏移量; 根据所述偏移量从待变换数据串中获取预定位数的数据; 将所获取的数据变换为十进制数据; 判断所述十进制数据的长度是否小于第一预定长度; 如果所述十进制数据的长度不小于第一预定长度,则从所述十进制数据的低位开 始连续取第一预定长度的数据作为变换后的数据; 如果所述十进制数据的长度小于第一预定长度,则将所述十进制数据的高位补零至第一预定长度,并将高位补零后的数据作为变换后的数据。 —种数据变换装置,包括 第一获取单元,用于从待变换数据串的预定位置获取偏移量; 第二获取单元,用于根据所述偏移量从待变换数据串中获取预定位数的数据; 变换单元,用于将所获取的数据变换为十进制数据; 判断单元,用于判断所述十进制数据的长度是否小于第一预定长度; 输出单元,用于在所述十进制数据的长度不小于第一预定长度时,从所述十进制数据的低位开始连续取第一预定长度的数据作为变换后的数据;在所述十进制数据的长度小于第一预定长度时,将所述十进制数据的高位补零至第一预定长度,并将高位补零后的数据作为变换后的数据。 本专利技术提供的数据变换方法及装置,从待变换数据串中取出连续的预定个数的比 特位;然后通过所取出的比特位可以计算出偏移量,并根据所述偏移量从待变换数据串中 获取预定位数的数据;再对取出的字符进行变换得到十进制数据,并且最后只输出一个第 一预定长度的数据作为变换后的数据。本专利技术在变换后的十进制数据长度足够时,可以只 取其中第一预定长度的数据;当十进制数据长度不够时,则将十进制数据补零到第一预定 长度;从而实现了最后得到的结果长度是统一的。 由于在本专利技术实现过程中只需要执行取出比特位、计算偏移量、取出连续字符、格 式变换、输出预定长度的数据等简单操作,省去了消息摘要等复杂的计算过程,使得该数据 变换方法相对于现有技术的方案更为简单,容易实现;而且该方案中需要的操作通用性较 强,使得该方案能够普遍运用到很多需要数据变换的过程中。附图说明 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。图1为本专利技术实施例中数据变换方法流程图; 图2为本专利技术实施例中数据变换装置框图; 图3为本专利技术实施例1中数据变换方法的流程图; 图4为本专利技术实施例2中数据变换方法的流程图; 图5为本专利技术实施例3中数据变换装置的框图。具体实施例方式本专利技术实施例提供一种数据变换方法,如图1所示,该方法包括 101、在得到随机数等各种待变换数据串后,从待变换数据串中的预定位置取出连 续预定个数的比特位作为偏移量,例如取出待变换数据串中最后一个字节的后四个比特 位,或取出待变换数据串中第一个字节的八个比特位等; 本过程中的待变换数据串可以是用户直接输入的随机数据,也可以是经过无碰 撞的单向算法变换后得来的数据; 102、在获得偏移量后,可以根据所述偏移量从待变换数据串中获取预定位数的数据,本专利技术实施例中的预定位数可以随着待变换数据串的长度不同进行相应调整; 103、将所获取的预定位数的数据变换为十进制数据,具体变换方法可以采用现有的运算方法,如二进制换成十进制的方法、十六进制换成十进制的方法; 104、判断所述十进制数据的长度是否小于第一预定长度,如果所述十进制数据的 长度不小于第一预定长度,则执行105过程;如果所述十进制数据的长度小于第一预定长 度,则执行106过程; 105、从所述十进制数据的低位开始连续取第一预定长度的数据作为变换后的数 据; 106、将所述十进制数据的高位补零至第一预定长度,并将高位补零后的数据作为 变换后的数据。 本专利技术实施例还提供一种数据变换装置,如图2所示,该装置包括第一获取单元 21、第二获取单元22、变换单元23、判断单元24和输出单元25。 在得到随机数等各种待变换数据串后,所述第一获取单元21用于从待变换数据 串的预定位置获取偏移量,待变换数据串可以是用户直接输入的随机数据,也可以是经过 无碰撞的单向算法变换后的数据;第二获取单元22用于根据所述偏移量从待变换数据串 中获取预定位数的数据;变换单元23用于将所获取的数据变换为十进制数据;判断单元24 用于判断所述十进制数据的长度是否小于第一预定长度;输出单元25用于在所述十进制 数据的长度不小于第一预定长度时,从所述十进制数据的低位开始连续取第一预定长度的 数据作为变换后的数据;在所述十进制数据的长度小于第一预定长度时,将所述十进制数 据的高位补零至第一预定长度,并将高位补零后的数据作为变换后的数据。 本专利技术实施例提供的数据变换方法及装置,从待变换数据串中取出连续的预定个 数的比特位;然后通过所取出的比特位可以计算出偏移量,并根据所述偏移量从待变换数 据串中获取预定位数的数据;再对取出的字符进行变换得到十进制数据,并且最后只输出 一个第一预定长度的数据作为变换后的数据。本专利技术实施例在变换后的十进制数据长度足 够时,可以只取其中第一预定长度的数据;当十进制数据长度不够时,则将十进制数据补零 到第一预定长度;从而实现了最后得到的结果长度本文档来自技高网
...

【技术保护点】
一种数据变换方法,其特征在于,包括:    从待变换数据串的预定位置获取偏移量;    根据所述偏移量从待变换数据串中获取预定位数的数据;    将所获取的数据变换为十进制数据;    判断所述十进制数据的长度是否小于第一预定长度;如果所述十进制数据的长度不小于第一预定长度,则从所述十进制数据的低位开始连续取第一预定长度的数据作为变换后的数据;    如果所述十进制数据的长度小于第一预定长度,则将所述十进制数据的高位补零至第一预定长度,并将高位补零后的数据作为变换后的数据。

【技术特征摘要】
一种数据变换方法,其特征在于,包括从待变换数据串的预定位置获取偏移量;根据所述偏移量从待变换数据串中获取预定位数的数据;将所获取的数据变换为十进制数据;判断所述十进制数据的长度是否小于第一预定长度;如果所述十进制数据的长度不小于第一预定长度,则从所述十进制数据的低位开始连续取第一预定长度的数据作为变换后的数据;如果所述十进制数据的长度小于第一预定长度,则将所述十进制数据的高位补零至第一预定长度,并将高位补零后的数据作为变换后的数据。2. 根据权利要求1所述的数据变换方法,其特征在于,所述预定位置包括所述待变换 数据串的第一个字节、中间任意一个字节、或最后一个字节;所述从待变换数据串的预定位 置获取偏移量包括从待变换数据串的预定位置对应字节中取出4个比特位或8个比特位; 判断所取出比特位对应的十进制数是否超过待变换数据串长度;如果所取出比特位对应的十进制数不超过待变换数据串长度,则将所取出比特位对应 的十进制数作为偏移量;如果所取出比特位对应的十进制数超过待变换数据串长度,则将所取出的比特位对应 的十进制数除以待变换数据串长度得到的余数作为偏移量,或者将所取出的比特位对应的 十进制数减去待变换数据串长度的整数倍作为偏移量。3. 根据权利要求1所述的数据变换方法,其特征在于,所述预定位置包括所述待变换 数据串的第一个字节、中间任意一个字节、或最后一个字节;所述从待变换数据串的预定位 置获取偏移量为从待变换数据串的预定位置对应字节中取出4个比特位,并将所取出比 特位对应的十进制数作为偏移量。4. 根据权利要求1 、2或3所述的数据变换方法,其特征在于,所述根据所述偏移量从待 变换数据串中获取预定位数的数据包括按照预定公式对所述偏移量进行计算得到算术右移位数; 将所述待变换数据串按照所述算术右移位数进行算术右移; 从右移后的待变换数据串最低位开始获取预定位数的数据。5. 根据权利要求4所述的数据变换方法,其特征在于,所述预定公式为BITS = 128-LBS4*8 ;其中,BITS表示算术右移位数,LBS4表示偏移量。6. 根据权利要求1 、2或3所述的数据变换方法,其特征在于,所述根据所述偏移量从待 变换数据串中获取预定位数的数据为从待变换数据串中与所述偏移量对应的位置处获取 预定位数的数据。7. 根据权利要求1所述的数据变换方法,其特征在于,所述待变换数据串为经过无碰 撞的单向算法处理后的待变换数据串。8. 根据权利要求7所述的数据变...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:北京飞天诚信科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1