CN108418684A - 一种字符串对称加密及解密方法 - Google Patents
一种字符串对称加密及解密方法 Download PDFInfo
- Publication number
- CN108418684A CN108418684A CN201810192182.5A CN201810192182A CN108418684A CN 108418684 A CN108418684 A CN 108418684A CN 201810192182 A CN201810192182 A CN 201810192182A CN 108418684 A CN108418684 A CN 108418684A
- Authority
- CN
- China
- Prior art keywords
- character string
- character
- encrypted
- integers
- encryption
- 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.)
- Pending
Links
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种字符串对称加密及解密方法。加密步骤为,将加密源转换为字符数组并获取其ASCII码;使用加密种子和随机数产生一个随机的10进制整数,利用该随机整数和ASCII码通过固定公式运算生成加密的10进制整数将生成的加密的10进制整数转换为26进制,得到一个或多个字符串;将之前产生的随机的10进制整数通过固定公式运算生成新的10进制整数,并将新的10进制整数转换为26进制,得到一个或多个字符串;将得到的字符串按照固定规则拼接起来,最终得到完整的加密后字符串。本发明能在系统各模块间快速传递消息时做到消息加密解密且基本不影响模块响应时间。
Description
技术领域
本发明属于信息安全技术领域,特别涉及了一种字符串对称加密及解密方法。
背景技术
目前,业界有多种较为成熟的对称和非对称加密算法,其中可解密的对称加密算法发展更为成熟,其算法大都公开,有各种工具用于对常见算法进行暴力破解,在语言实现这些算法时通常会依赖一些现有的类库,同时此类算法对中文的加密解密不够友好,中文原文的编码影响加密解密的结果。
随着现在分布式系统的日益流行,一个系统的不同模块会部署在不同机器甚至不同网络上,系统内部的信息传输尤其频繁,常见的远程调用如HTTP Rest/RMI/SOAP等均不内置标准信息传输加密,在没有使用安全通道(如SSL)的情况下可能导致信息被嗅探从而引发信息泄露。
发明内容
为了解决上述背景技术提出的技术问题,本发明旨在提供一种字符串对称加密及解密方法,能够在系统各模块间快速传递消息时做到消息加密解密且基本不影响模块响应时间。
为了实现上述技术目的,本发明的技术方案为:
一种字符串加密方法,包括以下步骤:
(a)将加密源转换为字符数组并获取其ASCII码;
(b)使用加密种子和随机数产生一个随机的10进制整数,利用该随机整数和步骤(a)获得的ASCII码通过固定公式运算生成加密的10进制整数;
(c)将步骤(b)生成的加密的10进制整数转换为26进制,得到一个或多个字符串;
(d)将步骤(b)产生的随机的10进制整数通过固定公式运算生成新的10进制整数,并将新的10进制整数转换为26进制,得到一个或多个字符串;
(e)将步骤(c)和步骤(d)得到的字符串按照固定规则拼接起来;
(f)重复步骤(b)-(e),把加密源中的每个字符串都进行加密;
(g)所有加密后的字符串拼接起来成为完整的加密后字符串。
基于上述字符串加密方法的字符串解密方法,包括以下步骤:
(A)将加密后字符串拆解,分为2个数组:直接加密字符串和随机数加密字符串;
(B)将随机数加密字符串转换为10进制整数;
(C)将直接加密字符串转换为10进制整数;
(D)利用步骤(B)和步骤(C)得到的10进制整数以及加密种子,通过固定公式计算出原始整数;
(E)根据原始整数获取其ASCII码;
(F)重复步骤(B)-(E),获取每个解密后的字符串,拼接成为原始字符串。
附图说明
图1是本发明加密方法流程图;
图2是本发明解密方法流程图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解的是,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为了在系统各模块间快速传递消息,做到消息加密解密且基本不影响模块响应时间,本发明内容提出一种简单的对称加解密算法,算法设计时主要考虑的原则有:
(1)加密源和密钥都是基本的文本内容,且都支持中文;
(2)加密结果仅为字母和数字避免在传输过程中因为编码问题导致解密失败;
(3)支持超长(至少40位UUID)密钥内容,增加暴力破解难度;
(4)相同加密源和密钥每次加密结果不同,但都可以解密为原始内容;
(5)加密和解密的实现不依赖其他类库,可以方便的嵌入各类系统中。
本发明以Java语言为开发语言,开发出TextCoder类,该类实现了两个方法:
1)public static String encode(String source,String seed);该方法用于加密,source为加密源,seed为加密种子,方法返回加密后的字符串。
2)public static String decode(String source,String seed);该方法用于解密,source为加密后的字符串,seed为加密种子,方法返回解密后的字符串。
如图1所示,本发明设计的字符串加密方法步骤如下。
(a)将加密源转换为字符数组并获取其ASCII码;
(b)使用加密种子和随机数产生一个随机的10进制整数,利用该随机整数和步骤(a)获得的ASCII码通过固定公式运算生成加密的10进制整数;
(c)将步骤(b)生成的加密的10进制整数转换为26进制,得到一个或多个字符串;
(d)将步骤(b)产生的随机的10进制整数通过固定公式运算生成新的10进制整数,并将新的10进制整数转换为26进制,得到一个或多个字符串;
(e)将步骤(c)和步骤(d)得到的字符串按照固定规则拼接起来;
(f)重复步骤(b)-(e),把加密源中的每个字符串都进行加密;
(g)所有加密后的字符串拼接起来成为完整的加密后字符串。
如图2所示,本发明设计的字符串解密方法的步骤如下。
(A)将加密后字符串拆解,分为2个数组:直接加密字符串和随机数加密字符串;
(B)将随机数加密字符串转换为10进制整数;
(C)将直接加密字符串转换为10进制整数;
(D)利用步骤(B)和步骤(C)得到的10进制整数以及加密种子,通过固定公式计算出原始整数;
(E)根据原始整数获取其ASCII码;
(F)重复步骤(B)-(E),获取每个解密后的字符串,拼接成为原始字符串。
本技术领域技术人员可以理解的是,本发明可以涉及用于执行本申请中所述操作中的一项或多项操作的设备。所述设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备,所述通用计算机有存储在其内的程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、随机存储器(RAM)、只读存储器(ROM)、电可编程ROM、电可擦ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、磁性卡片或光线卡片。可读介质包括用于以由设备(例如,计算机)可读的形式存储或传输信息的任何机构。例如,可读介质包括随机存储器(RAM)、只读存储器(ROM)、磁盘存储介质、光学存储介质、闪存装置、以电的、光的、声的或其他的形式传播的信号(例如载波、红外信号、数字信号)等。
本技术领域技术人员可以理解的是,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来生成机器,从而通过计算机或其他可编程数据处理方法的处理器来执行的指令创建了用于实现结构图和/或框图和/或流图的框或多个框中指定的方法。
本技术领域技术人员可以理解的是,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
Claims (2)
1.一种字符串加密方法,其特征在于,包括以下步骤:
(a)将加密源转换为字符数组并获取其ASCII码;
(b)使用加密种子和随机数产生一个随机的10进制整数,利用该随机整数和步骤(a)获得的ASCII码通过固定公式运算生成加密的10进制整数;
(c)将步骤(b)生成的加密的10进制整数转换为26进制,得到一个或多个字符串;
(d)将步骤(b)产生的随机的10进制整数通过固定公式运算生成新的10进制整数,并将新的10进制整数转换为26进制,得到一个或多个字符串;
(e)将步骤(c)和步骤(d)得到的字符串按照固定规则拼接起来;
(f)重复步骤(b)-(e),把加密源中的每个字符串都进行加密;
(g)所有加密后的字符串拼接起来成为完整的加密后字符串。
2.基于权利要求1所述字符串加密方法的字符串解密方法,其特征在于,包括以下步骤:
(A)将加密后字符串拆解,分为2个数组:直接加密字符串和随机数加密字符串;
(B)将随机数加密字符串转换为10进制整数;
(C)将直接加密字符串转换为10进制整数;
(D)利用步骤(B)和步骤(C)得到的10进制整数以及加密种子,通过固定公式计算出原始整数;
(E)根据原始整数获取其ASCII码;
(F)重复步骤(B)-(E),获取每个解密后的字符串,拼接成为原始字符串。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810192182.5A CN108418684A (zh) | 2018-03-09 | 2018-03-09 | 一种字符串对称加密及解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810192182.5A CN108418684A (zh) | 2018-03-09 | 2018-03-09 | 一种字符串对称加密及解密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108418684A true CN108418684A (zh) | 2018-08-17 |
Family
ID=63130629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810192182.5A Pending CN108418684A (zh) | 2018-03-09 | 2018-03-09 | 一种字符串对称加密及解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108418684A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266682A (zh) * | 2019-06-18 | 2019-09-20 | 杭州情咖网络技术有限公司 | 数据加密方法、装置、移动终端及解密方法 |
CN110543778A (zh) * | 2019-09-03 | 2019-12-06 | 广州市金其利信息科技有限公司 | 一种字符数据线性随机加密和解密算法 |
CN111797416A (zh) * | 2020-07-02 | 2020-10-20 | 中国工商银行股份有限公司 | 加密数据的处理方法及装置 |
CN112364368A (zh) * | 2020-12-02 | 2021-02-12 | 四川长虹电器股份有限公司 | 一种电话号码加密存储方法 |
CN112788051A (zh) * | 2021-01-25 | 2021-05-11 | 高新兴讯美科技股份有限公司 | 一种https动态加密的传输方法 |
CN113806766A (zh) * | 2021-08-12 | 2021-12-17 | 招银云创信息技术有限公司 | 数据加密方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060150251A1 (en) * | 2003-06-09 | 2006-07-06 | Sony Corporation | Information recording medium, data processing method, and computer program |
CN103427987A (zh) * | 2012-05-25 | 2013-12-04 | 纬创资通股份有限公司 | 数据加密的方法、数据验证方法及电子装置 |
US20140321645A1 (en) * | 2013-04-29 | 2014-10-30 | Electronics And Telecommunications Research Institute | Apparatus and method for converting random binary sequence into random integer |
CN104811298A (zh) * | 2015-05-14 | 2015-07-29 | 中国联合网络通信集团有限公司 | 一种实现加密的方法及装置 |
CN105406960A (zh) * | 2015-12-20 | 2016-03-16 | 河南思维自动化设备股份有限公司 | 一种信息加密和解密方法 |
CN106712946A (zh) * | 2017-02-07 | 2017-05-24 | 上海瀚银信息技术有限公司 | 一种数据安全传输方法 |
-
2018
- 2018-03-09 CN CN201810192182.5A patent/CN108418684A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060150251A1 (en) * | 2003-06-09 | 2006-07-06 | Sony Corporation | Information recording medium, data processing method, and computer program |
CN103427987A (zh) * | 2012-05-25 | 2013-12-04 | 纬创资通股份有限公司 | 数据加密的方法、数据验证方法及电子装置 |
US20140321645A1 (en) * | 2013-04-29 | 2014-10-30 | Electronics And Telecommunications Research Institute | Apparatus and method for converting random binary sequence into random integer |
CN104811298A (zh) * | 2015-05-14 | 2015-07-29 | 中国联合网络通信集团有限公司 | 一种实现加密的方法及装置 |
CN105406960A (zh) * | 2015-12-20 | 2016-03-16 | 河南思维自动化设备股份有限公司 | 一种信息加密和解密方法 |
CN106712946A (zh) * | 2017-02-07 | 2017-05-24 | 上海瀚银信息技术有限公司 | 一种数据安全传输方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266682A (zh) * | 2019-06-18 | 2019-09-20 | 杭州情咖网络技术有限公司 | 数据加密方法、装置、移动终端及解密方法 |
CN110266682B (zh) * | 2019-06-18 | 2021-11-02 | 杭州情咖网络技术有限公司 | 数据加密方法、装置、移动终端及解密方法 |
CN110543778A (zh) * | 2019-09-03 | 2019-12-06 | 广州市金其利信息科技有限公司 | 一种字符数据线性随机加密和解密算法 |
CN111797416A (zh) * | 2020-07-02 | 2020-10-20 | 中国工商银行股份有限公司 | 加密数据的处理方法及装置 |
CN111797416B (zh) * | 2020-07-02 | 2023-08-18 | 中国工商银行股份有限公司 | 加密数据的处理方法及装置 |
CN112364368A (zh) * | 2020-12-02 | 2021-02-12 | 四川长虹电器股份有限公司 | 一种电话号码加密存储方法 |
CN112788051A (zh) * | 2021-01-25 | 2021-05-11 | 高新兴讯美科技股份有限公司 | 一种https动态加密的传输方法 |
CN113806766A (zh) * | 2021-08-12 | 2021-12-17 | 招银云创信息技术有限公司 | 数据加密方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108418684A (zh) | 一种字符串对称加密及解密方法 | |
Ning | A pseudo DNA cryptography method | |
CN107086915B (zh) | 一种数据传输方法、数据发送端及数据接收端 | |
CN105591737A (zh) | 一种数据加密方法、解密方法、传输方法及系统 | |
CN107491317A (zh) | 一种基于异构加速平台的aes对称加解密方法及系统 | |
CN112055004A (zh) | 一种基于小程序的数据处理方法和系统 | |
CN107528690A (zh) | 一种基于异构加速平台的sm4对称加解密方法及系统 | |
KR102143525B1 (ko) | 교집합 연산을 지원하는 함수 암호를 위한 방법 및 이를 이용한 장치 | |
US11329799B2 (en) | Calculation device for encryption using public key and encryption method thereof | |
US6996233B2 (en) | System and method for encrypting and verifying messages using three-phase encryption | |
Lambić | Cryptanalyzing a novel pseudorandom number generator based on pseudorandomly enhanced logistic map | |
KR101905689B1 (ko) | 공개키를 이용하여 암호화하는 연산 장치 및 그 암호화 방법 | |
Antonio et al. | Implementation of cryptography in steganography for enhanced security | |
Guanghui et al. | Chaotic Image Encryption Based on Running‐Key Related to Plaintext | |
CN106452754B (zh) | 一种多人在线动态加密方法及装置 | |
US8473516B2 (en) | Computer storage apparatus for multi-tiered data security | |
CN110474967B (zh) | 块链实验系统及方法 | |
AU2006204261A1 (en) | Communication system and communication method | |
US20090125994A1 (en) | Communication between a human user and a computer resistant to automated eavesdropping | |
Pandey et al. | Data security using various cryptography Techniques: A Recent Survey | |
Patro et al. | Text-to-image encryption and decryption using piece wise linear chaotic maps | |
US20100246817A1 (en) | System for data security using user selectable one-time pad | |
Popoola | Data Integrity Using Caesar Cipher and Residue Number System | |
Nagraj et al. | An approach towards making Honey Encryption easily available | |
Srinivasarao et al. | A technique for data encryption and decryption |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180817 |