CN117473540A - 文件字符加密方法和装置 - Google Patents
文件字符加密方法和装置 Download PDFInfo
- Publication number
- CN117473540A CN117473540A CN202311826084.XA CN202311826084A CN117473540A CN 117473540 A CN117473540 A CN 117473540A CN 202311826084 A CN202311826084 A CN 202311826084A CN 117473540 A CN117473540 A CN 117473540A
- Authority
- CN
- China
- Prior art keywords
- binary
- string
- encrypted
- digit
- decimal
- 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 45
- 238000006243 chemical reaction Methods 0.000 claims abstract description 19
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005242 forging Methods 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
- 230000002265 prevention Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- 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
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Epidemiology (AREA)
- Databases & Information Systems (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及计算机技术领域,尤其涉及一种文件字符加密方法和装置。其中,该方法包括:获取待加密字符串,并按照字符与数字之间的对应关系,将待加密字符串转换为十进制数字串;确定十进制数字串中任一十进制数字对应的目标素数,并根据目标素数对任一十进制数字进行二进制转换,得到二进制数字串;获取随机数列秘钥,并根据随机数列秘钥中的数字确定二进制数字串中的加密位置,并对加密位置处对应的二进制数字进行加密,得到加密后的二进制数字串;按照二进制数字和字母之间的对应关系,将加密后的二进制数字串转换为字母串。采用上述方案的本公开可以对文件字符进行加密。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种文件字符加密方法和装置。
背景技术
随着现代通信技术的飞速发展,计算机网络已成为众多领域进行信息交换的手段。由于计算机网络是一个开放式网络,信息交换时往往面临信息被窃取、篡改和伪造等安全问题,此时信息加密技术的研究与应用势在必行。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本公开的第一个目的在于提出一种文件字符加密方法,以对文件字符进行加密。
本公开的第二个目的在于提出一种文件字符加密装置。
本公开的第三个目的在于提出一种电子设备。
本公开的第四个目的在于提出一种计算机可读存储介质。
本公开的第五个目的在于提出一种计算机程序产品。
为达上述目的,本公开第一方面实施例提出了一种文件字符加密方法,包括:
获取待加密字符串,并按照字符与数字之间的对应关系,将所述待加密字符串转换为十进制数字串;
确定所述十进制数字串中任一十进制数字对应的目标素数,并根据所述目标素数对所述任一十进制数字进行二进制转换,得到二进制数字串;
获取随机数列秘钥,并根据所述随机数列秘钥中的数字确定所述二进制数字串中的加密位置,并对所述加密位置处对应的二进制数字进行加密,得到加密后的二进制数字串;
按照二进制数字和字母之间的对应关系,将所述加密后的二进制数字串转换为字母串。
可选地,所述确定所述十进制数字串中任一十进制数字对应的目标素数,包括:
确定所述十进制数字串中任一十进制数字对应的开平方数字;
确定所述开平方数字对应的最小整数区间中的区间最大数字;
确定与所述区间最大数字相邻的目标素数,其中,所述目标素数包括第一素数和第二素数,所述第一素数小于所述区间最大数字,所述第二素数大于所述区间最大数字。
可选地,所述根据所述目标素数对所述任一十进制数字进行二进制转换,包括:
若所述第二素数对应的位数小于第一位数阈值,则对所述第二素数进行左位补零操作,得到第一加密数字;
确定所述第一素数和所述第二素数之积与所述任一十进制数字之间的差值,并确定所述差值与所述第二素数之间的商和余数;
根据所述差值的正负信息以及所述余数的位数,确定第二加密数字;
若所述商对应的位数小于第二位数阈值,则对所述商进行左位补零操作,得到第三加密数字;
将所述第一加密数字、所述第二加密数字、所述第三加密数字以及所述余数进行拼接,得到所述任一十进制数字对应的加密十进制数字,并对所述加密十进制数字进行二进制转换。
可选地,所述对所述加密十进制数字进行二进制转换,包括:
依次对所述加密十进制数字中每一位数字进行二进制转换,若所述加密十进制数字中任一位数字对应的二进制数字的位数小于第三位数阈值,则对所述二进制数字进行左位补零操作。
可选地,所述随机数列秘钥中包括N+1个数字,N为正整数,所述根据所述随机数列秘钥中的数字确定所述二进制数字串中的加密位置,包括:
根据所述随机数列秘钥中的第一个数字,确定所述二进制数字串中的第一个加密位置;
根据所述随机数列秘钥中的第一个数字至第N+1个数字之和,确定所述二进制数字串中的第N+1个加密位置;
若所述第N+1个加密位置至所述二进制数字串的末端之间的位数不小于所述第一个数字,则以所述第N+1个加密位置作为首端继续根据所述随机数列秘钥确定加密位置。
可选地,所述对所述加密位置处对应的二进制数字进行加密,包括:
对所述加密位置处对应的二进制数字进行取反操作。
可选地,所述二进制数字和字母之间的对应关系指示第四位数阈值的二进制数字对应一个字母,所述将所述加密后的二进制数字串转换为字母串,包括:
若所述加密后的二进制数字串的总位数与所述第四位数阈值之间不能整除,则确定所述加密后的二进制数字串对应的末端剩余二进制数字;
对所述末端剩余二进制数字进行右位补零操作,得到补位加密后的二进制数字串,并根据所述右位补零操作对应的补零数量,确定末端字母,其中,所述补位后的末端剩余二进制数字的位数为所述第四位数阈值;
从所述补位加密后的二进制数字串的首位开始,依次将所述第四位数阈值的二进制数字转换为字母,并在末端设置所述末端字母,得到字母串。
为达上述目的,本公开第二方面实施例提出了一种文件字符加密装置,包括:
字符加密单元,用于获取待加密字符串,并按照字符与数字之间的对应关系,将所述待加密字符串转换为十进制数字串;
所述字符加密单元,还用于确定所述十进制数字串中任一十进制数字对应的目标素数,并根据所述目标素数对所述任一十进制数字进行二进制转换,得到二进制数字串;
所述字符加密单元,还用于获取随机数列秘钥,并根据所述随机数列秘钥中的数字确定所述二进制数字串中的加密位置,并对所述加密位置处对应的二进制数字进行加密,得到加密后的二进制数字串;
所述字符加密单元,还用于按照二进制数字和字母之间的对应关系,将所述加密后的二进制数字串转换为字母串。
为达上述目的,本公开第三方面实施例提出了一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现前述第一方面中任一项所示的方法。
为达上述目的,本公开第四方面实施例提出了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现前述第一方面中任一项所示的方法。
为达上述目的,本公开第五方面实施例提出了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述第一方面中任一项所示的方法。
综上,本公开提供的方法、装置、电子设备及存储介质,通过随机数列秘钥和多次转换实现对待加密字符串的加密,加密效果显著,安全性高;同时,加密方式不是一层不变的,富有灵活性。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本公开实施例所提供的一种文件字符加密方法的流程示意图;
图2为本公开一个实施例所提供的一种文件字符加密装置的结构示意图。
具体实施方式
下面详细描述本公开的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
下面结合具体的实施例对本公开进行详细说明。
在第一个实施例中,如图1所示,图1为本公开实施例所提供的一种文件字符加密方法的流程示意图,该方法可依赖于计算机程序实现,可运行于进行文件字符加密的装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
其中,文件字符加密装置可以是具有文件字符加密功能的电子设备。
具体的,该文件字符加密方法包括以下步骤:
S101,获取待加密字符串,并按照字符与数字之间的对应关系,将待加密字符串转换为十进制数字串;
根据一些实施例,待加密字符串指的是需要进行加密的字符串。该字符串中的字符包括但不限于汉字、数字、英文、特殊字符等。
在一些实施例中,字符与十进制数字之间为一一对应关系,不同字符对应的十进制数字并不相同,具体对应关系可以根据实际应用场景进行设置。
易于理解的是,当电子设备进行文件字符加密时,电子设备可以获取待加密字符串,并按照字符与数字之间的对应关系,将待加密字符串转换为十进制数字串。
S102,确定十进制数字串中任一十进制数字对应的目标素数,并根据目标素数对任一十进制数字进行二进制转换,得到二进制数字串;
易于理解的是,当电子设备获取到十进制数字串时,电子设备可以确定十进制数字串中任一十进制数字对应的目标素数,并根据目标素数对任一十进制数字进行二进制转换,得到二进制数字串。
S103,获取随机数列秘钥,并根据随机数列秘钥中的数字确定二进制数字串中的加密位置,并对加密位置处对应的二进制数字进行加密,得到加密后的二进制数字串;
根据一些实施例,秘钥指的是在明文转换为密文或将密文转换为明文时采用的参数。随机数列秘钥中该参数为随机数列,该随机数列秘钥例如可以包括N+1个数字,N为正整数。例如,该随机数列秘钥可以为37829。
易于理解的是,当电子设备获取到二进制数字串时,电子设备可以获取随机数列秘钥,并根据随机数列秘钥中的数字确定二进制数字串中的加密位置,并对加密位置处对应的二进制数字进行加密,得到加密后的二进制数字串。
S104,按照二进制数字和字母之间的对应关系,将加密后的二进制数字串转换为字母串。
根据一些实施例,二进制数字和字母之间为一一对应关系,不同二进制数字对应的字母并不相同,具体对应关系可以根据实际应用场景进行设置。
易于理解的是,当电子设备获取到加密后的二进制数字串时,电子设备可以按照二进制数字和字母之间的对应关系,将加密后的二进制数字串转换为字母串。
综上,本实施例提供的方法,通过随机数列秘钥和多次转换实现对待加密字符串的加密,加密效果显著,安全性高;同时,加密方式不是一层不变的,富有灵活性。其次,随机数列秘钥可以保证公程序的独特性,和源程序可以不在一起,可以进一步通过插卡的方式,来进行局域网内的加密解密,使得加密效果更佳严谨。
本实施例还提供了另一种文件字符加密方法。该方法可以由电子设备执行。
具体的,该文件字符加密方法可以包括以下步骤:
S201,获取待加密字符串;
以一个场景举例,当医生对病人进行电子病历书写时,会填写相关内容,形成电子病历文档,之后可以将该电子病历文档保存为可读取的文件。其中,由于数据结构要存储下来才能在界面上解析出数据原本的位置,因此,存储的过程中,可以以可扩展标记语音(Extensible Markup Language,XML)的方式,以程序的特有结构,将节点逐个记录下来,得到连续的结构化存储的字符串。
该连续的结构化存储的字符串例如可以表示如下:
<tr rowindex="0" width="2008" height="77"><td width="621" height="77"topbordervisible="False" leftbordervisible="False" bottombordervisible="False" rightbordervisible="False"><p align="1" LineSpacing="27"><span>姓名:</span><eof /></p></td><td width="383" height="77" topbordervisible="False"leftbordervisible="False" bottombordervisible="False" rightbordervisible="False"><p LineSpacing="27"><macro name="姓名" PrivateField="True" ChildLocked="True"><span>ABC</span></macro><span></span><eof /></p></td><td width="332"height="77" topbordervisible="False" leftbordervisible="False"bottombordervisible="False" rightbordervisible="False"><p LineSpacing="27"><span>出生地:</span><eof /></p></td><td width="672" height="77"topbordervisible="False" leftbordervisible="False" bottombordervisible="False" rightbordervisible="False"><p LineSpacing="27"><macro name="出生地"PrivateField="True"><span>出生地</span></macro><eof /></p></td></tr>
易于理解的是,该连续的结构化存储的字符串中包含了英文、数字、中文,正常情况下,还有比如*¥&等特殊字符,根据相关要求,电子病历在存储过程中,不允许用明文进行存储,要进行严格的加密,避免文件被别人拿到,轻易解析出其中内容,进行篡改,造成医疗纠纷,因此,需要对该字符串进行加密。
S202,按照字符与数字之间的对应关系,将待加密字符串转换为十进制数字串;
根据一些实施例,任一字符对应的十进制数字可以设置为0-100000之间的数字,既是一个五位数,也可以确定该数字是0-317平方之间的数字。
以一个场景举例,部分字符与数字之间的对应关系例如可以为:
字符<对应的十进制数字是60;
字符《对应的十进制数字是12298;
字符t对应的十进制数字是116
字符r对应的十进制数字是114
字符(空格)对应的十进制数字是32
字符i对应的十进制数字是105
字符n对应的十进制数字是110
字符d对应的十进制数字是100
字符e对应的十进制数字是101
字符x对应的十进制数字是120
字符=对应的十进制数字是60
字符“(半角)对应的十进制数字是34
字符0对应的十进制数字是48
字符“(全角)对应的十进制数字是8221
字符A对应的十进制数字是36213
字符B对应的十进制数字是36219
字符C对应的十进制数字是36754
字符¥对应的十进制数字是65509
字符$对应的十进制数字是36。
因此,可以按照上述字符与数字之间的对应关系,将待加密字符串<《tr index=”0” ABC¥$转换为十进制数字串60 12298 116 114 32 105 110 100 101 120 60 34 488221 36213 36219 36754 65509 36。
S203,确定十进制数字串中任一十进制数字对应的开平方数字,确定开平方数字对应的最小整数区间中的区间最大数字,确定与区间最大数字相邻的目标素数;
根据一些实施例,目标素数包括第一素数和第二素数,第一素数小于区间最大数字,第二素数大于区间最大数字。
以一个场景举例,十进制数字60的开平方数字为7.74,7.74是属于7至8之间的数字,也就是说,7.74对应的最小整数区间为7至8,区间最大数字为8,比8大的第一个素数是11,比8小的第一个素数是7,既十进制数字60对应的第一素数为7、第二素数为11。
S204,若第二素数对应的位数小于第一位数阈值,则对第二素数进行左位补零操作,得到第一加密数字;
根据一些实施例,任一字符对应的十进制数字是0-317平方之间的数字时,可以设置该第一位数阈值为3。
以一个场景举例,十进制数字60对应的第二素数为11,11对应的位数2小于3,因此,可以对11进行左位补零操作,得到十进制数字60对应的第一加密数字011。
S205,确定第一素数和第二素数之积与任一十进制数字之间的差值,并确定差值与第二素数之间的商和余数;根据差值的正负信息以及余数的位数,确定第二加密数字;
根据一些实施例,由于正负信息存在正数和负数两种情况,第一位数阈值为3时余数的最高位数也为3,这种情况下,任一十进制数字对应的差值的正负信息以及余数的位数仅存在6种情况,可以用6个数字进行分别表示。
例如,可以用数字1表示差值为负数、余数的位数为1;可以用数字2表示差值为负数、余数的位数为2;可以用数字3表示差值为负数、余数的位数为3;可以用数字4表示差值为正数、余数的位数为1;可以用数字5表示差值为正数、余数的位数为1;可以用数字6表示差值为正数、余数的位数为1。
以一个场景举例,第一素数7和第二素数11之积77与十进制数字60之间的差值为17,差值17为正数,且差值17与第二素数11之间的商为1、余数为6。因此,可以确定十进制数字60对应的第二加密数字为4。
需要说明的是,差值的正负信息以及余数的位数与第二加密数字之间的对应关系并不局限与以上方式,可以根据实际应用场景进行调整。
S206,若商对应的位数小于第二位数阈值,则对商进行左位补零操作,得到第三加密数字;
根据一些实施例,第二位数阈值并不特指某一固定阈值。该第二位数阈值例如可以为2。
以一个场景举例,十进制数字60对应的商为1,对其进行左位补零操作,可以得到十进制数字60对应的第三加密数字01。
S207,将第一加密数字、第二加密数字、第三加密数字以及余数进行拼接,得到任一十进制数字对应的加密十进制数字;
需要说明的是,还可以用公式对步骤S203至步骤S207之间的处理过程进行表示。
例如,60=11*7-17=11*7-(11*1)-6=011+4+01+6=0114016;
12298=113*109-(113*0)-19=113+5+00+19=11350019;
116=11*7+39=11*7+(11*3)+6=011+1+03+6=0011036;
114=11*7+37=11*7+(11*3)+4=011+1+03+6=0011034;
65509=257*251+(257*3)+231=257+3+03+231=257303231。
S208,对加密十进制数字进行二进制转换,得到二进制数字串;
根据一些实施例,依次对加密十进制数字中每一位数字进行二进制转换,若加密十进制数字中任一位数字对应的二进制数字的位数小于第三位数阈值,则对二进制数字进行左位补零操作。
需要说明的是,由于数字0至9最大的9对应的二进制数字为1001,因此,第三位数阈值可以为4。
以一个场景举例,加密十进制数字为257时,数字2对应的二进制数字是10,需要对10进行左位补零操作,得到0010;数字5对应的二进制数字为0101;数字7对应的二进制数字为1000,依次类推,可以将257转换为二进制数字串:001001011000。
例如,加密十进制数字011401611350019 00110360011034257303231可以转换为二进制数字串:
00000001000101000000000101100001000100110101000000000001100100000000000100010000001101100000000000010001000000110100001001010111001100000011001000110001。
S209,获取随机数列秘钥,根据随机数列秘钥中的第一个数字,确定二进制数字串中的第一个加密位置;根据随机数列秘钥中的第一个数字至第N+1个数字之和,确定二进制数字串中的第N+1个加密位置;若第N+1个加密位置至二进制数字串的末端之间的位数不小于第一个数字,则以第N+1个加密位置作为首端继续根据随机数列秘钥确定加密位置;
需要说明的是,在根据随机数列秘钥确定二进制数字串中的加密位置的过程中,若循环至随机数列秘钥中的某个数字,但是该数字大于二进制数字串中已确定的最后一个加密位置至二进制数字串的末端之间的位数,则可以停止加密位置的确定。
以一个场景举例,随机数列秘钥为37829时,用加租格式来展示下述二进制数字串中的加密位置:
00000001000101000000000101100001000100110101000000000001100100000000000100010000001101100000000000010001000000110100001001010111001100000011001000110001
S210,对加密位置处对应的二进制数字进行取反操作,得到加密后的二进制数字串;
根据一些实施例,取反操作指的是1转换为0,0转换为1。
以一个场景举例,对步骤S208中的二进制数字串的加密位置处对应的二进制数字进行取反操作,得到的加密后的二进制数字串可以为:
00100001010101000101000101101000000100010101001010000001110110000001000100000100001101000100000010010001101000110101000001010011001101010011001010100001
S211,若加密后的二进制数字串的总位数与第四位数阈值之间不能整除,则确定加密后的二进制数字串对应的末端剩余二进制数字;对末端剩余二进制数字进行右位补零操作,得到补位加密后的二进制数字串,并根据右位补零操作对应的补零数量,确定末端字母;
需要说明的是,00000至11111是32个二进制数字,大写英文字母A至Z有26个,小写英文字母a至z有26个,可以从52个英文字母中选出32个,比如,A至Z、abcdef,共计32个字母分别与32个二进制数字进行一一对应。
例如,可以设置A=“00000”、B=“00001”、C=“00010” …Z=“11001”、a=“11010”、b=“11011”、c=“11100”、d=“11101”、e=“11110”、f=“11111”。
这种情况下,可以确定第四位数阈值为5,补零数量最大为4,因此,可以从剩下的20个英文字母中选择4个英文字母分别表示补零数量。
例如,可以设置u表示补零数量为1,可以设置x表示补零数量为2,可以设置y表示补零数量为3,可以设置z表示补零数量为4。
以一个场景举例,末端剩余二进制数字为1时,补零数量为4,末端字母为z。末端剩余二进制数字为01时,补零数量为3,末端字母为y。末端剩余二进制数字为110时,补零数量为2,末端字母为x。末端剩余二进制数字为0010时,补零数量为1,末端字母为u。
根据一些实施例,对于最终剩下的16个英文字母,可以进行等量代替。例如,可以设置A=h。
S212,按照二进制数字和字母之间的对应关系,从补位加密后的二进制数字串的首位开始,依次将第四位数阈值的二进制数字转换为字母,并在末端设置末端字母,得到字母串。
需要说明的是,如果加密后的二进制数字串的总位数与第四位数阈值之间可以整除,则不会出现末端字母。
以一个场景举例,对步骤S210中的加密后的二进制数字串进行转换,可以得到字母串EFKFCaARKKAdQEIEGRAJDIaQKMaTFIIy。
综上,本公开实施例提供的方法,通过随机数列秘钥和多次转换实现对待加密字符串的加密,加密效果显著,安全性高;同时,加密方式不是一层不变的,富有灵活性。其次,随机数列秘钥可以保证公程序的独特性,和源程序可以不在一起,可以进一步通过插卡的方式,来进行局域网内的加密解密,使得加密效果更佳严谨。
为了实现上述实施例,本公开还提出一种文件字符加密装置。
如图2所示,该文件字符加密装置200,包括:
字符加密单元201,用于获取待加密字符串,并按照字符与数字之间的对应关系,将待加密字符串转换为十进制数字串;
字符加密单元201,还用于确定十进制数字串中任一十进制数字对应的目标素数,并根据目标素数对任一十进制数字进行二进制转换,得到二进制数字串;
字符加密单元201,还用于获取随机数列秘钥,并根据随机数列秘钥中的数字确定二进制数字串中的加密位置,并对加密位置处对应的二进制数字进行加密,得到加密后的二进制数字串;
字符加密单元201,还用于按照二进制数字和字母之间的对应关系,将加密后的二进制数字串转换为字母串。
可选地,字符加密单元201用于确定十进制数字串中任一十进制数字对应的目标素数时,具体用于:
确定十进制数字串中任一十进制数字对应的开平方数字;
确定开平方数字对应的最小整数区间中的区间最大数字;
确定与区间最大数字相邻的目标素数,其中,目标素数包括第一素数和第二素数,第一素数小于区间最大数字,第二素数大于区间最大数字。
可选地,字符加密单元201用于根据目标素数对任一十进制数字进行二进制转换时,具体用于:
若第二素数对应的位数小于第一位数阈值,则对第二素数进行左位补零操作,得到第一加密数字;
确定第一素数和第二素数之积与任一十进制数字之间的差值,并确定差值与第二素数之间的商和余数;
根据差值的正负信息以及余数的位数,确定第二加密数字;
若商对应的位数小于第二位数阈值,则对商进行左位补零操作,得到第三加密数字;
将第一加密数字、第二加密数字、第三加密数字以及余数进行拼接,得到任一十进制数字对应的加密十进制数字,并对加密十进制数字进行二进制转换。
可选地,字符加密单元201用于对加密十进制数字进行二进制转换时,具体用于:
依次对加密十进制数字中每一位数字进行二进制转换,若加密十进制数字中任一位数字对应的二进制数字的位数小于第三位数阈值,则对二进制数字进行左位补零操作。
可选地,随机数列秘钥中包括N+1个数字,N为正整数,字符加密单元201用于根据随机数列秘钥中的数字确定二进制数字串中的加密位置时,具体用于:
根据随机数列秘钥中的第一个数字,确定二进制数字串中的第一个加密位置;
根据随机数列秘钥中的第一个数字至第N+1个数字之和,确定二进制数字串中的第N+1个加密位置;
若第N+1个加密位置至二进制数字串的末端之间的位数不小于第一个数字,则以第N+1个加密位置作为首端继续根据随机数列秘钥确定加密位置。
可选地,字符加密单元201用于对加密位置处对应的二进制数字进行加密时,具体用于:
对加密位置处对应的二进制数字进行取反操作。
可选地,字符加密单元201用于二进制数字和字母之间的对应关系指示第四位数阈值的二进制数字对应一个字母,将加密后的二进制数字串转换为字母串时,具体用于:
若加密后的二进制数字串的总位数与第四位数阈值之间不能整除,则确定加密后的二进制数字串对应的末端剩余二进制数字;
对末端剩余二进制数字进行右位补零操作,得到补位加密后的二进制数字串,并根据右位补零操作对应的补零数量,确定末端字母,其中,补位后的末端剩余二进制数字的位数为第四位数阈值;
从补位加密后的二进制数字串的首位开始,依次将第四位数阈值的二进制数字转换为字母,并在末端设置末端字母,得到字母串。
需要说明的是,前述对文件字符加密方法实施例的解释说明也适用于该实施例的文件字符加密装置,此处不再赘述。
综上,本公开实施例提供的装置,通过随机数列秘钥和多次转换实现对待加密字符串的加密,加密效果显著,安全性高;同时,加密方式不是一层不变的,富有灵活性。其次,随机数列秘钥可以保证公程序的独特性,和源程序可以不在一起,可以进一步通过插卡的方式,来进行局域网内的加密解密,使得加密效果更佳严谨。
为了实现上述实施例,本公开还提出一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现执行前述实施例所提供的方法。
为了实现上述实施例,本公开还提出一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现前述实施例所提供的方法。
为了实现上述实施例,本公开还提出一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述实施例所提供的方法。
本公开中所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
需要说明的是,来自用户的个人信息应当被收集用于合法且合理的用途,并且不在这些合法使用之外共享或出售。此外,应在收到用户知情同意后进行此类采集/共享,包括但不限于在用户使用该功能前,通知用户阅读用户协议/用户通知,并签署包括授权相关用户信息的协议/授权。此外,还需采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。
本公开预期可提供用户选择性阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件和/或软件,以防止或阻止对此类个人信息数据的访问。一旦不再需要个人信息数据,通过限制数据收集和删除数据可最小化风险。此外,在适用时,对此类个人信息去除个人标识,以保护用户的隐私。
在前述各实施例描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种文件字符加密方法,其特征在于,包括:
获取待加密字符串,并按照字符与数字之间的对应关系,将所述待加密字符串转换为十进制数字串;
确定所述十进制数字串中任一十进制数字对应的目标素数,并根据所述目标素数对所述任一十进制数字进行二进制转换,得到二进制数字串;
获取随机数列秘钥,并根据所述随机数列秘钥中的数字确定所述二进制数字串中的加密位置,并对所述加密位置处对应的二进制数字进行加密,得到加密后的二进制数字串;
按照二进制数字和字母之间的对应关系,将所述加密后的二进制数字串转换为字母串。
2.根据权利要求1所述的方法,其特征在于,所述确定所述十进制数字串中任一十进制数字对应的目标素数,包括:
确定所述十进制数字串中任一十进制数字对应的开平方数字;
确定所述开平方数字对应的最小整数区间中的区间最大数字;
确定与所述区间最大数字相邻的目标素数,其中,所述目标素数包括第一素数和第二素数,所述第一素数小于所述区间最大数字,所述第二素数大于所述区间最大数字。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标素数对所述任一十进制数字进行二进制转换,包括:
若所述第二素数对应的位数小于第一位数阈值,则对所述第二素数进行左位补零操作,得到第一加密数字;
确定所述第一素数和所述第二素数之积与所述任一十进制数字之间的差值,并确定所述差值与所述第二素数之间的商和余数;
根据所述差值的正负信息以及所述余数的位数,确定第二加密数字;
若所述商对应的位数小于第二位数阈值,则对所述商进行左位补零操作,得到第三加密数字;
将所述第一加密数字、所述第二加密数字、所述第三加密数字以及所述余数进行拼接,得到所述任一十进制数字对应的加密十进制数字,并对所述加密十进制数字进行二进制转换。
4.根据权利要求3所述的方法,其特征在于,所述对所述加密十进制数字进行二进制转换,包括:
依次对所述加密十进制数字中每一位数字进行二进制转换,若所述加密十进制数字中任一位数字对应的二进制数字的位数小于第三位数阈值,则对所述二进制数字进行左位补零操作。
5.根据权利要求1所述的方法,其特征在于,所述随机数列秘钥中包括N+1个数字,N为正整数,所述根据所述随机数列秘钥中的数字确定所述二进制数字串中的加密位置,包括:
根据所述随机数列秘钥中的第一个数字,确定所述二进制数字串中的第一个加密位置;
根据所述随机数列秘钥中的第一个数字至第N+1个数字之和,确定所述二进制数字串中的第N+1个加密位置;
若所述第N+1个加密位置至所述二进制数字串的末端之间的位数不小于所述第一个数字,则以所述第N+1个加密位置作为首端继续根据所述随机数列秘钥确定加密位置。
6.根据权利要求1所述的方法,其特征在于,所述对所述加密位置处对应的二进制数字进行加密,包括:
对所述加密位置处对应的二进制数字进行取反操作。
7.根据权利要求1所述的方法,其特征在于,所述二进制数字和字母之间的对应关系指示第四位数阈值的二进制数字对应一个字母,所述将所述加密后的二进制数字串转换为字母串,包括:
若所述加密后的二进制数字串的总位数与所述第四位数阈值之间不能整除,则确定所述加密后的二进制数字串对应的末端剩余二进制数字;
对所述末端剩余二进制数字进行右位补零操作,得到补位加密后的二进制数字串,并根据所述右位补零操作对应的补零数量,确定末端字母,其中,所述补位后的末端剩余二进制数字的位数为所述第四位数阈值;
从所述补位加密后的二进制数字串的首位开始,依次将所述第四位数阈值的二进制数字转换为字母,并在末端设置所述末端字母,得到字母串。
8.一种文件字符加密装置,其特征在于,包括:
字符加密单元,用于获取待加密字符串,并按照字符与数字之间的对应关系,将所述待加密字符串转换为十进制数字串;
所述字符加密单元,还用于确定所述十进制数字串中任一十进制数字对应的目标素数,并根据所述目标素数对所述任一十进制数字进行二进制转换,得到二进制数字串;
所述字符加密单元,还用于获取随机数列秘钥,并根据所述随机数列秘钥中的数字确定所述二进制数字串中的加密位置,并对所述加密位置处对应的二进制数字进行加密,得到加密后的二进制数字串;
所述字符加密单元,还用于按照二进制数字和字母之间的对应关系,将所述加密后的二进制数字串转换为字母串。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311826084.XA CN117473540B (zh) | 2023-12-28 | 2023-12-28 | 文件字符加密方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311826084.XA CN117473540B (zh) | 2023-12-28 | 2023-12-28 | 文件字符加密方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117473540A true CN117473540A (zh) | 2024-01-30 |
CN117473540B CN117473540B (zh) | 2024-07-12 |
Family
ID=89635179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311826084.XA Active CN117473540B (zh) | 2023-12-28 | 2023-12-28 | 文件字符加密方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117473540B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180041481A1 (en) * | 2016-08-02 | 2018-02-08 | X-Logos, LLC | Methods and systems for enhanced data-centric encryption systems using geometric algebra |
CN108733802A (zh) * | 2018-05-17 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 识别码生成及解析方法、装置、存储介质和电子设备 |
CN112883951A (zh) * | 2021-02-10 | 2021-06-01 | 支付宝(杭州)信息技术有限公司 | 一种保护敏感内容的方法、系统和存储介质 |
CN114422800A (zh) * | 2021-12-14 | 2022-04-29 | 统信软件技术有限公司 | 一种数据加密方法、装置与计算设备 |
CN115550030A (zh) * | 2022-09-28 | 2022-12-30 | 成都京东方智慧科技有限公司 | 数据加密方法、装置、存储介质及电子设备 |
-
2023
- 2023-12-28 CN CN202311826084.XA patent/CN117473540B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180041481A1 (en) * | 2016-08-02 | 2018-02-08 | X-Logos, LLC | Methods and systems for enhanced data-centric encryption systems using geometric algebra |
CN108733802A (zh) * | 2018-05-17 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 识别码生成及解析方法、装置、存储介质和电子设备 |
CN112883951A (zh) * | 2021-02-10 | 2021-06-01 | 支付宝(杭州)信息技术有限公司 | 一种保护敏感内容的方法、系统和存储介质 |
CN114422800A (zh) * | 2021-12-14 | 2022-04-29 | 统信软件技术有限公司 | 一种数据加密方法、装置与计算设备 |
CN115550030A (zh) * | 2022-09-28 | 2022-12-30 | 成都京东方智慧科技有限公司 | 数据加密方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117473540B (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Al‐Haj et al. | Crypto‐based algorithms for secured medical image transmission | |
Chao et al. | A data-hiding technique with authentication, integration, and confidentiality for electronic patient records | |
Al-Haj | Providing integrity, authenticity, and confidentiality for header and pixel data of DICOM images | |
CN108809630A (zh) | 一种遗嘱保存方法、系统、设备及计算机可读存储介质 | |
Dragoi et al. | On the security of reversible data hiding in encrypted images by MSB prediction | |
CN109547201B (zh) | 一种根密钥的加密方法、计算机可读存储介质及终端设备 | |
KR20060064034A (ko) | 프로세스 과정에서 암호화된 데이터의 위조 검출 데이터를발생시키는 장치 및 방법 | |
CN101877639A (zh) | 信息处理设备、密钥更新方法和程序 | |
CN117909254B (zh) | 分支预测方法、装置及存储介质 | |
Ahmed et al. | Hash-based authentication of digital images in noisy channels | |
Shivani et al. | Providing security and privacy to huge and vulnerable songs repository using visual cryptography | |
US20240178999A1 (en) | Method for data encryption, terminal device and non-transitory computer-readable storage medium | |
CN117473540B (zh) | 文件字符加密方法和装置 | |
WO2002054664A2 (en) | R-conversion encryption method and system | |
KR100440783B1 (ko) | 멀티미디어 데이터의 암호화 방법 | |
Agarwal et al. | Encrypted transfer of confidential information using steganography and identity verification using face data | |
CN116015633A (zh) | 数据加密方法、数据解密方法及相关装置 | |
Li et al. | Reversible data hiding for encrypted 3D model based on prediction error expansion | |
CN113111396B (zh) | 一种增强存储媒体安全性的方法及系统及装置及介质 | |
US20030138099A1 (en) | Method for computer-based encryption and decryption of data | |
JP5511270B2 (ja) | 情報処理装置、及び情報処理方法 | |
KR100338348B1 (ko) | 부가 정보 검출 방법 및 시스템 | |
Singh et al. | An efficient patient data hiding scheme using cellular automata | |
CN118250685B (zh) | 一种应用于电子设备的密钥管理方法及系统 | |
Das et al. | Privacy preservation in ROI of medical images using LSB manipulation |
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 |