CN113095042A - 一种字符串加密方法、系统、装置及存储介质 - Google Patents
一种字符串加密方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN113095042A CN113095042A CN202110305869.7A CN202110305869A CN113095042A CN 113095042 A CN113095042 A CN 113095042A CN 202110305869 A CN202110305869 A CN 202110305869A CN 113095042 A CN113095042 A CN 113095042A
- Authority
- CN
- China
- Prior art keywords
- character
- segment
- characters
- string
- character string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000006243 chemical reaction Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000003780 insertion Methods 0.000 claims description 9
- 230000037431 insertion Effects 0.000 claims description 9
- 230000002441 reversible effect Effects 0.000 claims description 7
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 229910002056 binary alloy Inorganic materials 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种字符串加密方法、系统、装置及存储介质,方法包括:获取第一字符串,根据预设的切割规则将第一字符串切割为多个第一字符片段;在各第一字符片段中加入预设的填充字符后得到第二字符片段,并按照预设的置乱规则对第二字符片段进行置乱后得到第三字符片段;根据预先确定的进制位数和进制字符对第三字符片段进行进制转换,得到第四字符片段;采用剔除字符集中的字符对第四字符片段进行连接处理,得到加密字符串;其中,进制位数和进制字符根据剔除字符集确定。本发明一方面使得字符串的进制转换和加密的应用场景更广,另一方面大大增强了字符串的安全性和保密性,可广泛应用于信息技术领域。
Description
技术领域
本发明涉及信息技术领域,尤其是一种字符串加密方法、系统、装置及存储介质。
背景技术
目前常用的进制系统比如2进制、8进制、10进制、16进制等等,到了大于10位的进制以后,按照顺序来使用英文字母进行计数,存在一些问题。首先,不灵活,固定的顺序导致某些字符在一些应用场景中发生冲突,比如在对身份证号的字符串进行进制转换保存时,X和x不能作为进制字符实用;其次,不安全,常用的进制系统使用的都是公开的字符,在使用过程中的字符序列相当于是完全公开的,如果用来进行加密,相当于没有了进制系统自身的序列顺序的防护机制。
发明内容
本发明的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
为此,本发明实施例的一个目的在于提供一种更安全、应用场景更广的字符串加密方法。
本发明实施例的另一个目的在于提供一种字符串加密系统。
为了达到上述技术目的,本发明实施例所采取的技术方案包括:
第一方面,本发明实施例提供了一种字符串加密方法,包括以下步骤:
获取第一字符串,根据预设的切割规则将所述第一字符串切割为多个第一字符片段;
在各所述第一字符片段中加入预设的填充字符后得到第二字符片段,并按照预设的置乱规则对所述第二字符片段进行置乱后得到第三字符片段;
根据预先确定的进制位数和进制字符对所述第三字符片段进行进制转换,得到第四字符片段;
采用剔除字符集中的字符对所述第四字符片段进行连接处理,得到加密字符串;
其中,所述进制位数和所述进制字符根据所述剔除字符集确定。
进一步地,在本发明的一个实施例中,所述字符串加密方法还包括确定进制位数和进制字符的步骤,其具体包括:
获取第一字符数组,并确定乱序字符串,进而根据所述乱序字符串从所述第一字符数组中剔除出乱序字符,并按照乱序字符串的顺序依次将乱序字符添加在第一数组的头部和/或尾部,得到第二字符数组;
确定插入字符串,并将所述插入字符串添加在所述第二字符数组的头部或尾部,得到第三字符数组;
确定剔除字符集,并将所述剔除字符集中的字符从所述第三字符数组中剔除,得到第四字符数组;
根据所述第四字符数组中的字符确定进制字符,并根据所述第四字符数组中字符的数量确定进制位数。
进一步地,在本发明的一个实施例中,所述获取第一字符串,根据预设的切割规则将所述第一字符串切割为多个第一字符片段这一步骤,其具体为:
根据固定切割位数从所述第一字符串的尾部开始进行切割,得到多个第一字符片段;
或,
根据初始切割位数和递增位数从所述第一字符串的尾部开始进行切割,得到多个第一字符片段。
进一步地,在本发明的一个实施例中,所述在各所述第一字符片段中加入预设的填充字符后得到第二字符片段,并按照预设的置乱规则对所述第二字符片段进行置乱后得到第三字符片段这一步骤,其具体包括:
获取预设的填充字符,将所述填充字符添加在所述第一字符片段的头部和尾部,得到第二字符片段;
对所述第二字符片段进行倒序处理,得到置乱后的第三字符片段。
进一步地,在本发明的一个实施例中,所述根据预先确定的进制位数和进制字符对所述第三字符片段进行进制转换,得到第四字符片段这一步骤,其具体包括:
将所述第三字符片段对所述进制位数进行取模运算后得到第一商值和第一余数,将所述第一余数按照所述进制字符转换为第一末位字符;
将所述第一商值对所述进制位数进行取模运算后得到第二商值和第二余数,将所述第二余数按照所述进制字符转换为第二末位字符;
重复上述步骤,直至取模运算后得到的第N商值为0,将对应的第N余数按照所述进制字符转换为第N末位字符;
根据所述第一末位字符、所述第二末位字符、…以及所述第N末位字符生成第四字符片段。
进一步地,在本发明的一个实施例中,所述采用剔除字符集中的字符对所述第四字符片段进行连接处理,得到加密字符串这一步骤,其具体为:
从所述剔除字符集中选取若干个字符作为连接字符,并根据所述连接字符将各个第四字符片段连接起来,得到加密字符串。
进一步地,在本发明的一个实施例中,所述字符串加密方法还包括对所述加密字符串进行解密的步骤,其具体包括:
确定所述加密字符串中的连接字符,并根据所述连接字符将所述加密字符串切割为多个第五字符片段,所述连接字符为所述剔除字符集中的字符;
根据所述进制位数和所述进制字符对各所述第五字符片段进行进制转换,得到第六字符片段;
按照预设的置乱还原规则对所述第六字符片段进行置乱还原,得到第七字符片段,并在所述第七字符片段中剔除掉所述填充字符得到第八字符片段;
根据所述第八字符片段生成解密后的第一字符串。
第二方面,本发明实施例提供了一种字符串加密系统,包括:
字符串切割模块,用于获取第一字符串,根据预设的切割规则将所述第一字符串切割为多个第一字符片段;
填充和置乱模块,用于在各所述第一字符片段中加入预设的填充字符后得到第二字符片段,并按照预设的置乱规则对所述第二字符片段进行置乱后得到第三字符片段;
进制转换模块,用于根据预先确定的进制位数和进制字符对所述第三字符片段进行进制转换,得到第四字符片段;
字符片段连接模块,用于采用剔除字符集中的字符对所述第四字符片段进行连接处理,得到加密字符串;
其中,所述进制位数和所述进制字符根据所述剔除字符集确定。
第三方面,本发明实施例提供了一种字符串加密装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现上述的一种字符串加密方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行上述的一种字符串加密方法。
本发明的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到:
本发明实施例先对第一字符串进行切割处理得到第一字符片段,再对第一字符片段依次进行填充和置乱处理得到第三字符片段,然后采用自定义的进制位数和进制字符对第三字符片段进行进制转换得到第四字符片段,进而采用确定进制位数和进制字符时使用的剔除字符集中的字符来对第四字符片段进行连接处理,得到加密字符串。本发明实施例采用自定义的进制位数和进制字符进行进制转换,并根据剔除字符集将进制转换后的字符片段进行连接,得到加密字符串,一方面由于剔除字符集的存在,可以在一些应用场景中剔除掉容易发生冲突的进制字符,从而使得字符串的进制转换和加密的应用场景更广,另一方面由于使用剔除字符集中的字符对进制转换后的字符片段进行连接,在剔除字符集未被截获破译的情况下,无法对加密字符串进行切割并重新转换为原有的进制,从而大大增强了字符串的安全性和保密性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面对本发明实施例中所需要使用的附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1为本发明实施例提供的一种字符串加密方法的步骤流程图;
图2为本发明实施例提供的一种字符串加密系统的结构框图;
图3为本发明实施例提供的一种字符串加密装置的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
在本发明的描述中,多个的含义是两个或两个以上,如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。
首先对本发明实施例的进制位数和进制字符的定义进行说明。进制位数是指该进制系统的基数,如2进制的进制位数为2,10进制的进制位数为10,16进制的进制位数为16;进制字符是指该进制系统使用计数字符,如2进制的进制字符为0至1,10进制的进制字符为0至9,16进制的进制字符为0至9以及A至F。
参照图1,本发明实施例提供了一种字符串加密方法,具体包括以下步骤:
S101、获取第一字符串,根据预设的切割规则将第一字符串切割为多个第一字符片段;
具体地,第一字符串可以是数字字符串,也可以是常规的字符串转换为16进制、2进制或10进制的字符串,本发明实施例中以10进制的字符串为例进行解释说明。步骤S101具体为:
A1、根据固定切割位数从第一字符串的尾部开始进行切割,得到多个第一字符片段;
或,
A2、根据初始切割位数和递增位数从第一字符串的尾部开始进行切割,得到多个第一字符片段。
具体地,可以按照固定的切割位数(如16位)从第一字符串的尾部开始进行切割,每16个字符形成一个第一字符片段,若第一字符串最前面的字符片段不足16位,可在前面增加0补全至16位;也可以按照一定的位数递增规则从第一字符串的尾部开始进行切割,如第一次切割12个字符,第二次切割14个字符,第三次切割16个字符,依次递增至切割完成。
S102、在各第一字符片段中加入预设的填充字符后得到第二字符片段,并按照预设的置乱规则对第二字符片段进行置乱后得到第三字符片段;
具体地,通过填充处理和置乱处理可以增强字符串的安全性和保密性,且在解密过程中可以进行还原。步骤S102具体包括以下步骤:
S1021、获取预设的填充字符,将填充字符添加在第一字符片段的头部和尾部,得到第二字符片段;
具体地,填充字符可以自定义,如按照16位进行切割时,前后各增加一个数字1,又如按照12位进行切割时,前后各增加一个1至99内的随机整数。
S1022、对第二字符片段进行倒序处理,得到置乱后的第三字符片段。
具体地,本发明实施例采用倒序处理进行置乱,在解密过程时再次进行倒序处理即可还原。
可选地,也可以根据斐波那契数列的特性自定义置乱规则,同样可以在置乱后进行还原,此非本申请重点,再次不做赘述。
S103、根据预先确定的进制位数和进制字符对第三字符片段进行进制转换,得到第四字符片段;
进一步作为可选的实施方式,字符串加密方法还包括确定进制位数和进制字符的步骤,其具体包括:
B1、获取第一字符数组,并确定乱序字符串,进而根据乱序字符串从第一字符数组中剔除出乱序字符,并按照乱序字符串的顺序依次将乱序字符添加在第一数组的头部和/或尾部,得到第二字符数组;
B2、确定插入字符串,并将插入字符串添加在第二字符数组的头部或尾部,得到第三字符数组;
B3、确定剔除字符集,并将剔除字符集中的字符从第三字符数组中剔除,得到第四字符数组;
B4、根据第四字符数组中的字符确定进制字符,并根据第四字符数组中字符的数量确定进制位数。
具体地,举例说明如下:
1)定义第一字符数组包含了26个英文字母的大小写,并按照字母顺序进行排列,例如“abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”;
2)定义乱序字符串,其重包括需要打乱顺序的所有字符,从第一字符数组中筛选出乱序字符并剔除,然后按照固定的规律进行乱序混淆插回去第一字符数组中,例如,将乱序字符串的所有字符从第一字符数组中提取出来,然后按顺序依次分别接在剩余的第一字符数组的头和尾部,乱序字符串为“mNx”,则乱序后的第二字符数组为“xmabcdefghijklnopqrstuvwyzABCDEFGHIJKLMOPQRSTUVWXYZN”;
3)定义插入字符串,将插入字符串字符按固定规则插入到第二字符数组中,如接在第二字符数组的尾部,例如插入字符串为“_%#”,则插入后的第三字符数组为“xmabcdefghijklnopqrstuvwyzABCDEFGHIJKLMOPQRSTUVWXYZN_%#”;
4)定义剔除字符集,即在该进制转换中不作为进制字符使用的字符集合,将其中的字符从第三字符数组中剔除,例如剔除字符集为“FX”,则剔除后的第四字符数组为“xmabcdefghijklnopqrstuvwyzABCDEGHIJKLMOPQRSTUVWYZN_%#”;
5)根据第四字符数组中的字符确定进制字符为0至9以及“xmabcdefghijklnopqrstuvwyzABCDEGHIJKLMOPQRSTUVWYZN_%#”,根据第四字符数组中的字符数量确定进制位数为53+10=63位。
可以认识到,本发明实施例中,进制字符x表示数值10,进制字符m表示数值11,进制字符#表示数值62。
进一步作为可选的实施方式,步骤S103具体包括以下步骤:
S1031、将第三字符片段对进制位数进行取模运算后得到第一商值和第一余数,将第一余数按照进制字符转换为第一末位字符;
S1032、将第一商值对进制位数进行取模运算后得到第二商值和第二余数,将第二余数按照进制字符转换为第二末位字符;
S1033、重复上述步骤,直至取模运算后得到的第N商值为0,将对应的第N余数按照进制字符转换为第N末位字符;
S1034、根据第一末位字符、第二末位字符、…以及第N末位字符生成第四字符片段。
具体地,以第三字符片段“78156”为例,对进制位数63取模后得到第一商值124和第一余数36,根据前面确定的进制字符将第一余数36转换为第一末位字符“z”;将第一商值124对进制位数63取模后得到第二商值1和第二余数61,根据前面确定的进制字符将第二余数61转换为第二末位字符“%”;将第二商值1对进制位数63取模后得到第三商值0和第三余数1,同样确定第三末位字符“1”,此时终止循环;将第三末位字符、第二末位字符和第一末位字符按顺序相连接,得到第四字符片段“1%z”。
S104、采用剔除字符集中的字符对第四字符片段进行连接处理,得到加密字符串;
其中,进制位数和进制字符根据剔除字符集确定。
具体地,由于剔除字符集中的字符不属于进制字符,因此实用剔除字符集中的字符将进制转换后的第四字符片段连接起来,一方面在解密时可以直接根据剔除字符集直接将加密字符串切割开,另一方面也增强了字符串的安全性和保密性。步骤S104具体为:
从剔除字符集中选取若干个字符作为连接字符,并根据连接字符将各个第四字符片段连接起来,得到加密字符串。
具体地,以三个第四字符片段“1%z”、“13h”以及“54s”和剔除字符集“FX”为例,可以得到加密字符串“1%zF13hX54s”,在剔除字符集未知的情况下,无法对其进行还原得到原始的第四字符片段,而且,第四字符片段中不会存在字符F和X,在已知剔除字符集的情况下可直接将其剔除,得到原始的第四字符片段。
此外,对于主要是数字间杂着少量其他字符的字符串(比如身份证号中的X和x),可使用间杂的字符作为剔除字符集,然后将剔除字符集中的字符全部提取出来,并以这些字符作为分割将原字符串的数字分割成片段后加密,最后将剔除的字符按照原来它所在的片段位置连接回去,如果剔除字符集只有一个字符并且只出现一次并且位置固定的话(比如身份证的情况),可以随意放在进制转换加密后的字符串的任意位置。
上述对本发明实施例的加密流程进行了说明,应该理解的是,各个字符片段之间的顺序在加密过程中始终不变,即第1个第一字符片段即对应着第1个第四字符片段。为便于理解,在本发明实施例中采用了较短的字符片段进行举例说明,然而在实际应用中字符片段的位数可能达到几十甚至上百位,但其实质与本发明实施例相同。
进一步作为可选的实施方式,字符串加密方法还包括对加密字符串进行解密的步骤,其具体包括:
D1、确定加密字符串中的连接字符,并根据连接字符将加密字符串切割为多个第五字符片段,连接字符为剔除字符集中的字符;
D2、根据进制位数和进制字符对各第五字符片段进行进制转换,得到第六字符片段;
D3、按照预设的置乱还原规则对第六字符片段进行置乱还原,得到第七字符片段,并在第七字符片段中剔除掉填充字符得到第八字符片段;
D4、根据第八字符片段生成解密后的第一字符串。
具体地,由于加密过程中对字符串进行的处理均为可逆处理,在切割规则、填充字符、置乱规则、进制位数、进制字符以及剔除字符集已知的情况下,即可对加密字符串进行解密处理,具体过程不作赘述。
本发明实施例先对第一字符串进行切割处理得到第一字符片段,再对第一字符片段依次进行填充和置乱处理得到第三字符片段,然后采用自定义的进制位数和进制字符对第三字符片段进行进制转换得到第四字符片段,进而采用确定进制位数和进制字符时使用的剔除字符集中的字符来对第四字符片段进行连接处理,得到加密字符串。本发明实施例采用自定义的进制位数和进制字符进行进制转换,并根据剔除字符集将进制转换后的字符片段进行连接,得到加密字符串,一方面由于剔除字符集的存在,可以在一些应用场景中剔除掉容易发生冲突的进制字符,从而使得字符串的进制转换和加密的应用场景更广,另一方面由于使用剔除字符集中的字符对进制转换后的字符片段进行连接,在剔除字符集未被截获破译的情况下,无法对加密字符串进行切割并重新转换为原有的进制,从而大大增强了字符串的安全性和保密性。
本发明实施例使用了自定义的进制系统(可增加某些特殊字符或者不使用某些常规字符等),且字符顺序可以完全由使用者自定义,在某些字符冲突的场景中,可以在自定义的时候定义为不使用这些字符(比如在身份证的字符串保存时,定义x和/或X为不使用字符,最后转换进制后再将x/X放回去字符串的某个位置上),并且为了字符串序列更安全,可以打乱进制字符的顺序来代表不同的大小(比如可以定义a比x大),并且由于自定义了字符和顺序,可用于衍生出更多的字符加密方案,以及可用于比长整型更长的任意纯数字字符串进行转换和计算。
参照图2,本发明实施例提供了一种字符串加密系统,包括:
字符串切割模块,用于获取第一字符串,根据预设的切割规则将第一字符串切割为多个第一字符片段;
填充和置乱模块,用于在各第一字符片段中加入预设的填充字符后得到第二字符片段,并按照预设的置乱规则对第二字符片段进行置乱后得到第三字符片段;
进制转换模块,用于根据预先确定的进制位数和进制字符对第三字符片段进行进制转换,得到第四字符片段;
字符片段连接模块,用于采用剔除字符集中的字符对第四字符片段进行连接处理,得到加密字符串;
其中,进制位数和进制字符根据剔除字符集确定。
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
参照图3,本发明实施例提供了一种字符串加密装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当上述至少一个程序被上述至少一个处理器执行时,使得上述至少一个处理器实现上述的一种字符串加密方法。
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
本发明实施例还提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,该处理器可执行的程序在由处理器执行时用于执行上述一种字符串加密方法。
本发明实施例的一种计算机可读存储介质,可执行本发明方法实施例所提供的一种字符串加密方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或上述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,上述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印上述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得上述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种字符串加密方法,其特征在于,包括以下步骤:
获取第一字符串,根据预设的切割规则将所述第一字符串切割为多个第一字符片段;
在各所述第一字符片段中加入预设的填充字符后得到第二字符片段,并按照预设的置乱规则对所述第二字符片段进行置乱后得到第三字符片段;
根据预先确定的进制位数和进制字符对所述第三字符片段进行进制转换,得到第四字符片段;
采用剔除字符集中的字符对所述第四字符片段进行连接处理,得到加密字符串;
其中,所述进制位数和所述进制字符根据所述剔除字符集确定。
2.根据权利要求1所述的一种字符串加密方法,其特征在于,所述字符串加密方法还包括确定进制位数和进制字符的步骤,其具体包括:
获取第一字符数组,并确定乱序字符串,进而根据所述乱序字符串从所述第一字符数组中剔除出乱序字符,并按照乱序字符串的顺序依次将乱序字符添加在第一数组的头部和/或尾部,得到第二字符数组;
确定插入字符串,并将所述插入字符串添加在所述第二字符数组的头部或尾部,得到第三字符数组;
确定剔除字符集,并将所述剔除字符集中的字符从所述第三字符数组中剔除,得到第四字符数组;
根据所述第四字符数组中的字符确定进制字符,并根据所述第四字符数组中字符的数量确定进制位数。
3.根据权利要求1所述的一种字符串加密方法,其特征在于,所述获取第一字符串,根据预设的切割规则将所述第一字符串切割为多个第一字符片段这一步骤,其具体为:
根据固定切割位数从所述第一字符串的尾部开始进行切割,得到多个第一字符片段;或,
根据初始切割位数和递增位数从所述第一字符串的尾部开始进行切割,得到多个第一字符片段。
4.根据权利要求1所述的一种字符串加密方法,其特征在于,所述在各所述第一字符片段中加入预设的填充字符后得到第二字符片段,并按照预设的置乱规则对所述第二字符片段进行置乱后得到第三字符片段这一步骤,其具体包括:
获取预设的填充字符,将所述填充字符添加在所述第一字符片段的头部和尾部,得到第二字符片段;
对所述第二字符片段进行倒序处理,得到置乱后的第三字符片段。
5.根据权利要求1所述的一种字符串加密方法,其特征在于,所述根据预先确定的进制位数和进制字符对所述第三字符片段进行进制转换,得到第四字符片段这一步骤,其具体包括:
将所述第三字符片段对所述进制位数进行取模运算后得到第一商值和第一余数,将所述第一余数按照所述进制字符转换为第一末位字符;
将所述第一商值对所述进制位数进行取模运算后得到第二商值和第二余数,将所述第二余数按照所述进制字符转换为第二末位字符;
重复上述步骤,直至取模运算后得到的第N商值为0,将对应的第N余数按照所述进制字符转换为第N末位字符;
根据所述第一末位字符、所述第二末位字符、…以及所述第N末位字符生成第四字符片段。
6.根据权利要求1所述的一种字符串加密方法,其特征在于,所述采用剔除字符集中的字符对所述第四字符片段进行连接处理,得到加密字符串这一步骤,其具体为:
从所述剔除字符集中选取若干个字符作为连接字符,并根据所述连接字符将各个第四字符片段连接起来,得到加密字符串。
7.根据权利要求1至6中任一项所述的一种字符串加密方法,其特征在于,所述字符串加密方法还包括对所述加密字符串进行解密的步骤,其具体包括:
确定所述加密字符串中的连接字符,并根据所述连接字符将所述加密字符串切割为多个第五字符片段,所述连接字符为所述剔除字符集中的字符;
根据所述进制位数和所述进制字符对各所述第五字符片段进行进制转换,得到第六字符片段;
按照预设的置乱还原规则对所述第六字符片段进行置乱还原,得到第七字符片段,并在所述第七字符片段中剔除掉所述填充字符得到第八字符片段;
根据所述第八字符片段生成解密后的第一字符串。
8.一种字符串加密系统,其特征在于,包括:
字符串切割模块,用于获取第一字符串,根据预设的切割规则将所述第一字符串切割为多个第一字符片段;
填充和置乱模块,用于在各所述第一字符片段中加入预设的填充字符后得到第二字符片段,并按照预设的置乱规则对所述第二字符片段进行置乱后得到第三字符片段;
进制转换模块,用于根据预先确定的进制位数和进制字符对所述第三字符片段进行进制转换,得到第四字符片段;
字符片段连接模块,用于采用剔除字符集中的字符对所述第四字符片段进行连接处理,得到加密字符串;
其中,所述进制位数和所述进制字符根据所述剔除字符集确定。
9.一种字符串加密装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1至7中任一项所述的一种字符串加密方法。
10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行如权利要求1至7中任一项所述的一种字符串加密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110305869.7A CN113095042B (zh) | 2021-03-23 | 2021-03-23 | 一种字符串加密方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110305869.7A CN113095042B (zh) | 2021-03-23 | 2021-03-23 | 一种字符串加密方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113095042A true CN113095042A (zh) | 2021-07-09 |
CN113095042B CN113095042B (zh) | 2023-12-19 |
Family
ID=76669258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110305869.7A Active CN113095042B (zh) | 2021-03-23 | 2021-03-23 | 一种字符串加密方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113095042B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806766A (zh) * | 2021-08-12 | 2021-12-17 | 招银云创信息技术有限公司 | 数据加密方法、装置、计算机设备和存储介质 |
CN118354002A (zh) * | 2024-06-17 | 2024-07-16 | 山东星睿空间技术有限公司 | 卫星温度遥测的数据处理方法及系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009244996A (ja) * | 2008-03-28 | 2009-10-22 | Hitachi High-Technologies Corp | 文字列検索システム及び方法 |
US20100284532A1 (en) * | 2009-05-05 | 2010-11-11 | Burnett Steven D | Systems for embedding information in data strings |
JP2013073592A (ja) * | 2011-09-29 | 2013-04-22 | Rohm Co Ltd | 文字コード圧縮方法及び文字コード復元方法 |
CN104796354A (zh) * | 2014-11-19 | 2015-07-22 | 中国科学院信息工程研究所 | 一种乱序数据包字符串匹配方法及系统 |
CN105406960A (zh) * | 2015-12-20 | 2016-03-16 | 河南思维自动化设备股份有限公司 | 一种信息加密和解密方法 |
CN105721882A (zh) * | 2016-04-18 | 2016-06-29 | 上海泥娃通信科技有限公司 | 一种分离编解码的方法和系统 |
FR3038759A1 (fr) * | 2015-07-10 | 2017-01-13 | Khalib Jabbar | Cryptage avec geolocalisation embarquee |
CN107040366A (zh) * | 2017-06-07 | 2017-08-11 | 上海哎媲媲网络技术有限公司 | 一种可携带有效业务信息传输且固定长度的数据加密方法 |
KR20180029331A (ko) * | 2016-09-12 | 2018-03-21 | 주식회사 메디인사이드 | 암호화된 데이터 스트림 생성 방법 및 이를 위한 장치 |
CN109981245A (zh) * | 2019-03-21 | 2019-07-05 | 江苏工程职业技术学院 | 一种字符串的加密、解密方法 |
CN110071909A (zh) * | 2019-03-15 | 2019-07-30 | 平安科技(深圳)有限公司 | 基于rsa的长数据加密方法、装置、计算机设备及存储介质 |
CN111339508A (zh) * | 2020-02-28 | 2020-06-26 | 北京达佳互联信息技术有限公司 | 分享口令解析方法、装置、电子设备及存储介质 |
CN111709038A (zh) * | 2020-05-07 | 2020-09-25 | 北京中科凡语科技有限公司 | 文件加密解密方法、分布式存储系统、设备及存储介质 |
CN112001468A (zh) * | 2020-07-24 | 2020-11-27 | 南通大学 | 一种字符型商品防伪码生成与识别方法 |
-
2021
- 2021-03-23 CN CN202110305869.7A patent/CN113095042B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009244996A (ja) * | 2008-03-28 | 2009-10-22 | Hitachi High-Technologies Corp | 文字列検索システム及び方法 |
US20100284532A1 (en) * | 2009-05-05 | 2010-11-11 | Burnett Steven D | Systems for embedding information in data strings |
JP2013073592A (ja) * | 2011-09-29 | 2013-04-22 | Rohm Co Ltd | 文字コード圧縮方法及び文字コード復元方法 |
CN104796354A (zh) * | 2014-11-19 | 2015-07-22 | 中国科学院信息工程研究所 | 一种乱序数据包字符串匹配方法及系统 |
FR3038759A1 (fr) * | 2015-07-10 | 2017-01-13 | Khalib Jabbar | Cryptage avec geolocalisation embarquee |
CN105406960A (zh) * | 2015-12-20 | 2016-03-16 | 河南思维自动化设备股份有限公司 | 一种信息加密和解密方法 |
CN105721882A (zh) * | 2016-04-18 | 2016-06-29 | 上海泥娃通信科技有限公司 | 一种分离编解码的方法和系统 |
KR20180029331A (ko) * | 2016-09-12 | 2018-03-21 | 주식회사 메디인사이드 | 암호화된 데이터 스트림 생성 방법 및 이를 위한 장치 |
CN107040366A (zh) * | 2017-06-07 | 2017-08-11 | 上海哎媲媲网络技术有限公司 | 一种可携带有效业务信息传输且固定长度的数据加密方法 |
CN110071909A (zh) * | 2019-03-15 | 2019-07-30 | 平安科技(深圳)有限公司 | 基于rsa的长数据加密方法、装置、计算机设备及存储介质 |
CN109981245A (zh) * | 2019-03-21 | 2019-07-05 | 江苏工程职业技术学院 | 一种字符串的加密、解密方法 |
CN111339508A (zh) * | 2020-02-28 | 2020-06-26 | 北京达佳互联信息技术有限公司 | 分享口令解析方法、装置、电子设备及存储介质 |
CN111709038A (zh) * | 2020-05-07 | 2020-09-25 | 北京中科凡语科技有限公司 | 文件加密解密方法、分布式存储系统、设备及存储介质 |
CN112001468A (zh) * | 2020-07-24 | 2020-11-27 | 南通大学 | 一种字符型商品防伪码生成与识别方法 |
Non-Patent Citations (3)
Title |
---|
侯彤;侯红;万亚兵;盛玉萍;侯赣生;: "一种网络通信中信息和数据的加密系统", 江西师范大学学报(自然科学版), no. 06 * |
戴振喜;: "加密式单项数据压缩法", 大众科技, no. 04 * |
陈一帆;: "基于常见加密算法的加解密工具设计", 中国新通信, no. 19 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806766A (zh) * | 2021-08-12 | 2021-12-17 | 招银云创信息技术有限公司 | 数据加密方法、装置、计算机设备和存储介质 |
CN118354002A (zh) * | 2024-06-17 | 2024-07-16 | 山东星睿空间技术有限公司 | 卫星温度遥测的数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113095042B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7783046B1 (en) | Probabilistic cryptographic key identification with deterministic result | |
EP3065088B1 (en) | 2d-code generation method, 2d-code generation device, 2d-code reading method, 2d-code reading device, 2d code, and program | |
CN103684760B (zh) | 通信的加密和解密的方法、装置及系统 | |
CN101610088B (zh) | 基于具有安全特性的压缩技术来编码数据的系统和方法 | |
CN110457873B (zh) | 一种水印嵌入与检测方法及装置 | |
CN113095042A (zh) | 一种字符串加密方法、系统、装置及存储介质 | |
US7925012B2 (en) | Method and system for the secure distribution of compressed digital texts | |
EP3711166A1 (en) | A computer-implemented method of performing format-preserving encryption of a data object of variable size | |
CN107534549B (zh) | 可读存储介质、用于数据流字块加密的方法及系统 | |
CN113314187B (zh) | 一种数据存储方法、解码方法、系统、装置及存储介质 | |
JP5656593B2 (ja) | 符号化データを復号する装置及び方法 | |
CN115941189A (zh) | 一种用于文档数据的加密方法 | |
CN114567711A (zh) | 一种基于块容量标签的大容量加密图像信息隐藏方法 | |
CN112235101B (zh) | 基于混合编码机制的编码方法和装置、解码方法和装置 | |
CN113676290A (zh) | 一种基于基金系统的数据传输方法及相关设备 | |
US6374278B1 (en) | Method and apparatus for the generation of statistically random numbers | |
JP5810179B2 (ja) | 二次元コード生成方法、二次元コード生成装置、プログラム、二次元コード読み取り方法、および、二次元コード読み取り装置 | |
CN117390649A (zh) | 数据加密存储方法、设备及存储介质 | |
US20220358290A1 (en) | Encoding and storing text using dna sequences | |
CN107832623B (zh) | 坐标轨迹加密和解密的方法及系统 | |
CN115834163A (zh) | 加密数据的秘钥生成方法、装置、设备及存储介质 | |
CN109710899A (zh) | 存储介质内文件解密、取证方法和装置 | |
CN114297985A (zh) | 一种生成产品信息无序编码的方法、装置及存储介质 | |
CN115935299A (zh) | 授权控制方法、装置、计算机设备和存储介质 | |
CN1665182B (zh) | 高速识读矩阵码的编码及译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |