CN110048835A - 加密的方法和装置、存储介质 - Google Patents

加密的方法和装置、存储介质 Download PDF

Info

Publication number
CN110048835A
CN110048835A CN201910239820.9A CN201910239820A CN110048835A CN 110048835 A CN110048835 A CN 110048835A CN 201910239820 A CN201910239820 A CN 201910239820A CN 110048835 A CN110048835 A CN 110048835A
Authority
CN
China
Prior art keywords
random number
group
salt
character string
symmetric key
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
Application number
CN201910239820.9A
Other languages
English (en)
Inventor
王涛
孙慧玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201910239820.9A priority Critical patent/CN110048835A/zh
Publication of CN110048835A publication Critical patent/CN110048835A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及一种加密的方法和装置、存储介质,用于解决相关技术中生成的密钥强度较弱而容易被暴力破解的技术问题。所述加密的方法包括:生成多组随机数并将每组随机数中的随机数转换成预设进制的字符串;根据多组字符串生成对称密钥的盐值;根据所述盐值生成对称密钥;利用所述对称密钥加密数据。

Description

加密的方法和装置、存储介质
技术领域
本公开涉及数据安全技术领域,具体地,涉及一种加密的方法和装置、存储介质。
背景技术
随着移动互联网的发展,移动应用的安全越发的受到重视。每时每刻都会有移动应用遭到攻击、破解,严重危害到移动APP的安全。其中包括获取运行时数据、应用数据遭到破解、网络遭到劫持、代码逻辑遭到破解、内存数据被截获等各种安全问题。为了防止被攻击、破解,业界采用多种技术方案,采用的技术方案有数据加密、代码混淆等技术,这些方案在一定程度上可以增强移动应用被破解和被攻击的难度。
数据加密方案主要是采用对称和非对称的加密方式,对需要本地存放的数据进行加密之后保存。数据加密方案,加密强度关键取决于密钥的生成强度,密钥强度越高,被破解的难度就越大。
发明内容
本公开提供一种控制,以解决相关技术中生成的密钥强度较弱而容易被暴力破解的技术问题。
为实现上述目的,本公开实施例的第一方面,提供一种加密的方法,所述方法包括:
生成多组随机数并将每组随机数中的随机数转换成预设进制的字符串;
根据多组字符串生成对称密钥的盐值;
根据所述盐值生成对称密钥;
利用所述对称密钥加密数据。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据多组字符串生成对称密钥的盐值,包括:
根据多组字符串和常量字符串生成对称密钥的盐值。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据多组字符串和常量字符串生成对称密钥的盐值,包括:
将每组中的字符串串接成一个组字符串;
将所有的组字符串与常量字符串拼接以生成对称密钥的盐值。
结合第一方面,在第一方面的第三种可能的实现方式中,所述生成多组随机数并将每组随机数中的随机数转换成相同进制的字符串,包括:
生成两组随机数,其中每组随机数的个数为32;
将每组随机数中的随机数转换成16进制的两位字符串。
本公开实施例的第二方面,提供一种加密的装置,所述装置包括:
第一生成模块,用于生成多组随机数并将每组随机数中的随机数转换成预设进制的字符串;
第二生成模块,用于根据多组字符串生成对称密钥的盐值;
第三生成模块,用于根据所述盐值生成对称密钥;
加密模块,用于利用所述对称密钥加密数据。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第二生成模块还用于:
根据多组字符串和常量字符串生成对称密钥的盐值。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第二生成模块包括:
串接子模块,用于将每组中的字符串串接成一个组字符串;
拼接子模块,用于将所有的组字符串与常量字符串拼接以生成对称密钥的盐值。
结合第二方面,在第二方面的第三种可能的实现方式中,所述第一生成模块包括:
生成子模块,用于生成两组随机数,其中每组随机数的个数为32;
转换子模块,用于将每组随机数中的随机数转换成16进制的两位字符串。
本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
本公开实施例的第四方面,提供一种加密的装置,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中任一项所述方法的步骤。
采用上述技术方案,至少能够达到如下技术效果:
本公开通过生成多组随机数并将每组随机数中的随机数转换成相同进制的字符串,然后利用组字符串和常量字符串的组合方式来生成对称密钥的盐值,增强了生成密钥的强度,比简单的系统API方式生成的密钥或者简单加盐方式生成的密钥更加安全,更加不容易被破解,解决了相关技术中生成的密钥强度较弱而容易被暴力破解的技术问题。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开一示例性实施例示出的一种加密的方法流程图。
图2是本公开一示例性实施例示出的另一种加密的方法流程图。
图3是本公开一示例性实施例示出的另一种加密的方法流程图。
图4是本公开一示例性实施例示出的另一种加密的方法流程图。
图5是本公开一示例性实施例示出的一种加密的装置框图。
图6是本公开一示例性实施例示出的一种加密的装置的第二生成模块框图。
图7是本公开一示例性实施例示出的一种加密的装置的第一生成模块框图。
图8是本公开一示例性实施例示出的一种加密的装置框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
相关的加密技术方案多采用系统简单生成密钥的方式或简单加盐的方式来生成。系统简单生成密钥方式是调用系统的API(Application Programming Interface;应用程序编程接口),比如Java中的KeyGenerator kgen=KeyGenerator.getInstance(“AES”),其中,AES是高级加密标准的英文缩写,AES的英语全拼为:Advanced Encryption Standard。简单加盐的方式是使用常量字符串作为盐值,生成的密钥强度比系统简单生成密钥方式会更高。
上述相关加密技术中的缺点是因为采用系统简单的API或者简单加盐的方式来生成密钥,所以生成的密钥强度弱,容易被暴力破解,本提案为了解决上述相关技术中生成的密钥强度较弱而容易被暴力破解的技术问题的思路是通过加入多组随机数和常量字符串的组合,进而可以生成强度更高的密钥。
图1是本公开一示例性实施例示出的一种加密的方法流程图,以解决相关技术中生成的密钥强度较弱而容易被暴力破解的技术问题。如图1所示,该加密的方法可以包括以下步骤:
S11,生成多组随机数并将每组随机数中的随机数转换成预设进制的字符串。
S12,根据多组字符串生成对称密钥的盐值。
S13,根据所述盐值生成对称密钥。
S14,利用所述对称密钥加密数据。
随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。产生随机数有多种不同的方法。这些方法被称为随机数发生器。随机数最重要的特性是:它所产生的后面的那个数与前面的那个数毫无关系。
在步骤S11中,生成的随机数的组数可以是两组,也可以是三组以上。对此,本公开不作具体限定。每组中随机数的中的个数是多个,比如32个随机数,也可以是其它数量个数的随机数。
生成多组随机数后,将每组随机数中的随机数转换成预设进制的字符串。比如生成两组随机数,每组随机数中的个数是32个。将每组中32个随机数都转换成16进制的两位字符串。当然,在其它的实施例中,也可以将随机数都转换成32进制的字符串。
转换成相同进制的字符串后,执行步骤S12,根据多组字符串生成对称密钥的盐值。可选地,为了更有效地加密,可以根据多组字符串和常量字符串生成对称密钥的盐值。其中,常量字符串可以是预先设置的字符串,即通过组合多组字符串和常量字符串以生成对称密钥的盐值。
获取盐值后,执行步骤S13,根据所述盐值生成对称密钥。通过预设的加密算法对步骤S12中获取的所述盐值加密生成对称密钥,再用对称密钥对待加密数据进行加密。
本公开通过生成多组随机数并将每组随机数中的随机数转换成相同进制的字符串,然后利用组字符串和常量字符串的组合方式来生成对称密钥的盐值,增强了生成密钥的强度,比简单的系统API方式生成的密钥或者简单加盐方式生成的密钥更加安全,更加不容易被破解,解决了相关技术中生成的密钥强度较弱而容易被暴力破解的技术问题。
值得说明的是,对于图1所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图2是本公开一示例性实施例示出的另一种加密的方法流程图,以解决相关技术中生成的密钥强度较弱而容易被暴力破解的技术问题。如图2所示,该加密的方法可以包括以下步骤:
S21,生成多组随机数并将每组随机数中的随机数转换成预设进制的字符串。
S22,将每组中的字符串串接成一个组字符串。
S23,将所有的组字符串与常量字符串拼接以生成对称密钥的盐值。
S24,根据所述盐值生成对称密钥。
S25,利用所述对称密钥加密数据。
在步骤S21中,生成的随机数的组数可以是两组,也可以是三组以上。对此,本公开不作具体限定。每组中随机数的中的个数是多个,比如32个随机数,也可以是其它数量个数的随机数。
生成多组随机数后,将每组随机数中的随机数转换成相同进制的字符串。比如生成两组随机数,每组随机数中的个数是32个。将每组中32个随机数都转换成16进制的两位字符串。
转换成相同进制的字符串后,执行步骤S22,将每组中的字符串串接成一个组字符串。假设每组随机数中的个数是32个,每组中32个随机数都转换成16进制的两位字符串后,串接成一个组字符串就是一个64位字符串。
然后执行步骤S23,将所有的组字符串与常量字符串拼接以生成对称密钥的盐值。其中,常量字符串可以是预先设置的字符串,即通过组合多组字符串和常量字符串以生成对称密钥的盐值。假设有两组随机数,则生成两个组字符串,将两个组字符串和一个常量字符串拼接在一起组成生成对称密钥的盐值。
获取盐值后,执行步骤S24,根据所述盐值生成对称密钥。通过预设的加密算法对步骤23中获取的所述盐值加密生成对称密钥,再用对称密钥对待加密数据进行加密。
本公开通过生成多组随机数并将每组随机数中的随机数转换成相同进制的字符串,然后将多个组字符串和常量字符串串接后生成对称密钥的盐值,增强了生成密钥的强度,比简单的系统API方式生成的密钥或者简单加盐方式生成的密钥更加安全,更加不容易被破解,解决了相关技术中生成的密钥强度较弱而容易被暴力破解的技术问题。
值得说明的是,对于图2所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图3是本公开一示例性实施例示出的另一种加密的方法流程图,以解决相关技术中生成的密钥强度较弱而容易被暴力破解的技术问题。如图3所示,该加密的方法可以包括以下步骤:
S31,生成两组随机数,其中每组随机数的个数为32。
S32,将每组随机数中的随机数转换成16进制的两位字符串。
S33,将每组中的字符串串接成一个组字符串。
S34,将所有的组字符串与常量字符串拼接以生成对称密钥的盐值。
S35,根据所述盐值生成对称密钥。
S36,利用所述对称密钥加密数据。
在步骤S31中,生成的是两组随机数,每组中随机数的中的个数32个。生成两组随机数后,执行步骤S32,将每组随机数中的随机数转换成16进制的两位字符串,即将每组中32个随机数都转换成16进制的两位字符串。
转换成16进制的两位字符串后,执行步骤S33,将每组中的字符串串接成一个组字符串。每组随机数中的个数是32个,每组中32个随机数都转换成16进制的两位字符串后,串接成一个组字符串就是一个64位字符串。
然后执行步骤S34,将两个组字符串与常量字符串拼接以生成对称密钥的盐值。其中,常量字符串可以是预先设置的字符串,即通过组合多组字符串和常量字符串以生成对称密钥的盐值。
获取盐值后,执行步骤S35,根据所述盐值生成对称密钥。通过预设的加密算法对步骤23中获取的所述盐值加密生成对称密钥,再用对称密钥对待加密数据进行加密。
本公开通过生成两组随机数并将每组随机数中的32个随机数转换成16进制的字符串,然后将两个组字符串和常量字符串串接后生成对称密钥的盐值,增强了生成密钥的强度,比简单的系统API方式生成的密钥或者简单加盐方式生成的密钥更加安全,更加不容易被破解,解决了相关技术中生成的密钥强度较弱而容易被暴力破解的技术问题。
值得说明的是,对于图3所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图4是本公开一示例性实施例示出的另一种加密的方法流程图,以解决相关技术中生成的密钥强度较弱而容易被暴力破解的技术问题。如图3所示,该加密的方法可以包括以下步骤:
S41,生成两组随机数,其中每组随机数的个数为32。
S42,将每组随机数中的随机数转换成16进制的两位字符串。
S43,将每组中的字符串串接成一个组字符串。
S44,根据多组字符串和常量字符串生成对称密钥的盐值。
S45,根据所述盐值,利用SHA256算法计算出对称密钥。
S46,利用所述对称密钥加密数据。
其中,哈希值用作表示大量数据的固定大小的唯一值。数据的少量更改会在哈希值中产生不可预知的大量更改。SHA256算法的哈希值大小为256位。以SHA256算法为例:
首先,生成两组随机数,其中每组随机数的个数为32;然后,将每组随机数中的随机数转换成16进制的两位字符串,接着,将每组中的字符串串接成一个组字符串。其中,假设生成的两个组字符串分别为:725094DC798C5298426DEE79676125F6B6054697010856EE033FFD99FE6B814F和84EA60D5B89B582C5486D455B2344BFA0B8A804ABA5C453866DD6612FC0FCE9B;预设的常量字符串为:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQ。接下来,将以上的两个随机数拼接上常量字符串,生成对称密钥的盐值:725094DC798C5298426DEE79676125F6B6054697010856EE033FFD99FE6B814F84EA60D5B89B582C5486D455B2344BFA0B8A804ABA5C453866DD6612FC0FCE9BMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQ。然后,对上述生成的盐值,使用SHA256算法生成对称密钥,对其进行base64加密后是:u1JdY50LicACTgzjHAxy16mNu2U0XBhjEPZbkl27KvE=。
其中,Base64是字节码的编码方式,由于因为生成的对称密钥是字节流的,不是明文形式的,需要转成字符串才可见,所以通过base64将字节流转成字符串,这个是AES密钥的base64形式,后续对敏感数据加密使用的就是这个字符串。
SHA-256算法输入报文的最大长度不超过2^64bit,输入按512-bit分组进行处理,产生的输出是一个256-bit的报文摘要。现在就使用SHA256算法计算对称密钥的过程进行简要阐述:
第一步骤,对随机数和盐值组成的串(即报文)进行填充比特,以使报文长度与448模512同余(长度=448mod 512),填充的比特数范围是1到512,填充比特串的最高位为1,其余位为0。
第二步骤,将用64-bit表示的初始报文(填充前)的位长度附加在第一步骤的结果后(低位字节优先)。
第三步骤,初始化缓存。使用一个256-bit的缓存来存放散列函数的中间及最终结果。该缓存表示为A=0x6A09E667,B=0xBB67AE85,C=0x3C6EF372,D=0xA54FF53A,E=0x510E527F,F=0x9B05688C,G=0x1F83D9AB,H=0x5BE0CD19。
第四步骤,处理512-bit(16个字)报文分组序列。该算法使用了六种基本逻辑函数,由64步迭代运算组成。每步都以256-bit缓存值ABCDEFGH为输入,然后更新缓存内容。
第五步骤,所有的512-bit分组处理完毕后,对于SHA-256算法最后一个分组产生的输出便是256-bit的报文摘要,该保温摘要即为对称密钥。
值得说明的是,对于图4所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图5是本公开一示例性实施例示出的一种加密的装置框图。如图5所示,所述加密的装置500包括:
第一生成模块510,用于生成多组随机数并将每组随机数中的随机数转换成预设进制的字符串;
第二生成模块520,用于根据多组字符串生成对称密钥的盐值;
第三生成模块530,用于根据所述盐值生成对称密钥;
加密模块540,用于利用所述对称密钥加密数据。
可选地,所述第二生成模块520还用于:根据多组字符串和常量字符串生成对称密钥的盐值。
请参考图6,图6是本公开一示例性实施例示出的一种加密的装置的第二生成模块框图。可选地,如图6所示,所述第二生成模块520包括:
串接子模块521,用于将每组中的字符串串接成一个组字符串;
拼接子模块522,用于将所有的组字符串与常量字符串拼接以生成对称密钥的盐值。
请参考图7,图7是本公开一示例性实施例示出的一种加密的装置的第一生成模块框图。可选地,如图7所示,所述第一生成模块510包括:
生成子模块511,用于生成两组随机数,其中每组随机数的个数为32;
转换子模块512,用于将每组随机数中的随机数转换成16进制的两位字符串。
可选地,所述第三生成模块530还用于:
根据所述盐值,利用SHA256算法计算出对称密钥。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项可选实施例所述加密的方法步骤。
本公开还提供一种加密的装置,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一项可选实施例所述加密的方法步骤。
图8是根据一示例性实施例示出的另一种加密的装置800的框图。例如,装置800可以是移动电话,计算机,平板设备等。
参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述加密的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述加密的方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述加密的方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (10)

1.一种加密的方法,其特征在于,所述方法包括:
生成多组随机数并将每组随机数中的随机数转换成预设进制的字符串;
根据多组字符串生成对称密钥的盐值;
根据所述盐值生成对称密钥;
利用所述对称密钥加密数据。
2.根据权利要求1所述的方法,其特征在于,所述根据多组字符串生成对称密钥的盐值,包括:
根据多组字符串和常量字符串生成对称密钥的盐值。
3.根据权利要求2所述的方法,其特征在于,所述根据多组字符串和常量字符串生成对称密钥的盐值,包括:
将每组中的字符串串接成一个组字符串;
将所有的组字符串与常量字符串拼接以生成对称密钥的盐值。
4.根据权利要求1所述的方法,其特征在于,所述生成多组随机数并将每组随机数中的随机数转换成相同进制的字符串,包括:
生成两组随机数,其中每组随机数的个数为32;
将每组随机数中的随机数转换成16进制的两位字符串。
5.一种加密的装置,其特征在于,所述装置包括:
第一生成模块,用于生成多组随机数并将每组随机数中的随机数转换成预设进制的字符串;
第二生成模块,用于根据多组字符串生成对称密钥的盐值;
第三生成模块,用于根据所述盐值生成对称密钥;
加密模块,用于利用所述对称密钥加密数据。
6.根据权利要求5所述的装置,其特征在于,所述第二生成模块还用于:
根据多组字符串和常量字符串生成对称密钥的盐值。
7.根据权利要求6所述的装置,其特征在于,所述第二生成模块包括:
串接子模块,用于将每组中的字符串串接成一个组字符串;
拼接子模块,用于将所有的组字符串与常量字符串拼接以生成对称密钥的盐值。
8.根据权利要求5所述的装置,其特征在于,所述第一生成模块包括:
生成子模块,用于生成两组随机数,其中每组随机数的个数为32;
转换子模块,用于将每组随机数中的随机数转换成16进制的两位字符串。
9.一种加密的装置,其上存储有计算机程序,其特征在于,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至4中任一项所述方法的步骤。
CN201910239820.9A 2019-03-27 2019-03-27 加密的方法和装置、存储介质 Pending CN110048835A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910239820.9A CN110048835A (zh) 2019-03-27 2019-03-27 加密的方法和装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910239820.9A CN110048835A (zh) 2019-03-27 2019-03-27 加密的方法和装置、存储介质

Publications (1)

Publication Number Publication Date
CN110048835A true CN110048835A (zh) 2019-07-23

Family

ID=67275321

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910239820.9A Pending CN110048835A (zh) 2019-03-27 2019-03-27 加密的方法和装置、存储介质

Country Status (1)

Country Link
CN (1) CN110048835A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5029208A (en) * 1989-03-03 1991-07-02 Nec Corporation Cipher-key distribution system
JP2007181011A (ja) * 2005-12-28 2007-07-12 Pro Secure Co Ltd データ共有装置
EP2448305A1 (en) * 2010-10-29 2012-05-02 France Telecom Data processing for securing local resources in a mobile device
CN104468095A (zh) * 2014-11-28 2015-03-25 华为技术有限公司 一种数据传输方法及装置
CN107689869A (zh) * 2016-08-05 2018-02-13 华为技术有限公司 用户口令管理的方法和服务器
CN107948152A (zh) * 2017-11-23 2018-04-20 腾讯科技(深圳)有限公司 信息存储方法、获取方法、装置及设备
CN109150499A (zh) * 2018-08-29 2019-01-04 深圳市迷你玩科技有限公司 动态加密数据的方法、装置、计算机设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5029208A (en) * 1989-03-03 1991-07-02 Nec Corporation Cipher-key distribution system
JP2007181011A (ja) * 2005-12-28 2007-07-12 Pro Secure Co Ltd データ共有装置
EP2448305A1 (en) * 2010-10-29 2012-05-02 France Telecom Data processing for securing local resources in a mobile device
CN104468095A (zh) * 2014-11-28 2015-03-25 华为技术有限公司 一种数据传输方法及装置
CN107689869A (zh) * 2016-08-05 2018-02-13 华为技术有限公司 用户口令管理的方法和服务器
CN107948152A (zh) * 2017-11-23 2018-04-20 腾讯科技(深圳)有限公司 信息存储方法、获取方法、装置及设备
CN109150499A (zh) * 2018-08-29 2019-01-04 深圳市迷你玩科技有限公司 动态加密数据的方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN104125055B (zh) 加密、解密方法及电子设备
CN108769027B (zh) 安全通信方法、装置、移动终端和存储介质
US11196553B2 (en) Command transmission method and apparatus, electronic device
CN108964903B (zh) 密码存储方法及装置
CN107078904B (zh) 混合密码密钥导出
CN107786331B (zh) 数据处理方法、装置、系统及计算机可读存储介质
CN105491250B (zh) 来电号码真伪的识别方法、装置及设备
CN105281907B (zh) 加密数据的处理方法及装置
US20170353842A1 (en) Secure communications via a mobile keyboard application of a mobile device
KR20160066728A (ko) 생체 정보를 저장하는 nfc 패키지 및 전자 기기
CN109005038A (zh) 签名方法、装置、电子设备及存储介质
CN106778225A (zh) 处理密码的方法和装置
CN104852800B (zh) 数据传输方法及装置
US9509495B2 (en) Data protection method and apparatus
CN110190947B (zh) 信息加密、解密方法、终端及计算机可读存储介质
CN114553552B (zh) 数据加密方法和装置、数据解密方法和装置及存储介质
CN103441854A (zh) 链路保护方法及系统
CN110048835A (zh) 加密的方法和装置、存储介质
CN107302519B (zh) 一种终端设备的身份认证方法、装置和终端设备、服务器
KR20120076676A (ko) 휴대단말기의 보안 인증 장치 및 방법
CN104994160B (zh) 文件传输方法以及相关装置和传输系统
CN115051790A (zh) 一种数据加密方法、数据解密方法及装置、存储介质
WO2015124798A2 (en) Method & system for enabling authenticated operation of a data processing device
CN110750448B (zh) 基于符号执行的测试用例生成方法及装置
Sikdar et al. Recent Trends in Cryptanalysis Techniques: A Review

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190723