本发明涉及数据加密,尤其涉及一种密钥加密方法、装置、电子设备、存储介质及程序产品。
背景技术:
1、在前端开发(例如,网页开发中的javascript)中,为了保护敏感数据,通常会使用加密算法,比如高级加密标准(advanced encryption standard,aes)算法或数据加密标准(data encryption standard,des)算法。开发者往往将加密所需的秘钥(key)硬编码在javascript代码里,这种硬编码方式存在严重的安全漏洞,即使对javascript代码进行了压缩和混淆,用户依然可以轻松通过浏览器的开发者工具查看并分析前端代码,从而获取到硬编码的密钥。一旦密钥被找到,攻击者就可以解密受保护的数据,从而产生严重的安全问题。
技术实现思路
1、本发明意在提供一种密钥加密方法、装置、电子设备、存储介质及程序产品,以解决现有技术中存在的不足,本发明要解决的技术问题通过以下技术方案来实现。
2、根据本公开的第一方面,提供了一种密钥加密方法,由服务端执行,该方法包括:
3、接收客户端发送的第一请求,所述第一请求携带有账号标识和账号密码;
4、基于所述账号标识和所述账号密码,对所述客户端进行身份验证;
5、在所述客户端通过所述身份验证的情况下,获取初始图片和与所述账号标识对应的目标密钥;
6、将所述目标密钥嵌入所述初始图片,得到载密图片;
7、将所述载密图片发送至所述客户端。
8、进一步地,所述将所述目标密钥嵌入所述初始图片,得到载密图片,包括:
9、对所述初始图片中的每个像素和目标密钥分别进行二进制编码;
10、将所述目标密钥的二进制编码嵌入所述初始图片中每个像素的二进制编码的最后一位,得到载密图片。
11、进一步地,所述将所述载密图片发送给所述客户端之后,所述方法还包括:
12、接收客户端发送的第二请求,所述第二请求携带有第一数据;
13、利用所述目标密钥对所述第一数据进行解密,得到第二数据。
14、根据本公开的第二方面,提供了一种密钥加密方法,由客户端执行,该方法包括:
15、向服务端发送第一请求,所述第一请求携带有账号标识和账号密码;
16、接收所述服务端基于所述账号标识和所述账号密码发送的载密图片;
17、将所述载密图片中每个像素的二进制编码的最后一位进行拼接,得到目标二进制编码;
18、将所述目标二进制编码进行转换,得到目标密钥。
19、进一步地,所述将所述目标二进制编码进行转换,得到目标密钥之后,所述方法还包括:
20、利用所述目标密钥对第二数据进行加密,得到第一数据;
21、向所述服务端发送第二请求,所述第二请求携带有所述第一数据。
22、根据本公开的第三方面,提供了一种密钥加密装置,由服务端执行,该装置包括:
23、第一接收模块,用于接收客户端发送的第一请求,所述第一请求携带有账号标识和账号密码;
24、第一验证模块,用于基于所述账号标识和所述账号密码,对所述客户端进行身份验证;
25、第一获取模块,用于在所述客户端通过所述身份验证的情况下,获取初始图片和与所述账号标识对应的目标密钥;
26、第一处理模块,用于将所述目标密钥嵌入所述初始图片,得到载密图片;
27、第一发送模块,用于将所述载密图片发送至所述客户端。
28、根据本公开的第四方面,提供了一种密钥加密装置,由客户端执行,该装置包括:
29、第二发送模块,用于向服务端发送第一请求,所述第一请求携带有账号标识和账号密码;
30、第二接收模块,用于接收所述服务端基于所述账号标识和所述账号密码发送的载密图片;
31、第一拼接模块,用于将所述载密图片中每个像素的二进制编码的最后一位进行拼接,得到目标二进制编码;
32、第一转换模块,用于将所述目标二进制编码进行转换,得到目标密钥。
33、根据本公开的第五方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现所述方法。
34、根据本公开的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述方法。
35、根据本公开的第七方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现所述方法。
36、本发明实施例包括以下优点:
37、本发明实施例提供的密钥加密方法、装置、电子设备、存储介质及程序产品,服务端通过接收客户端发送的第一请求,所述第一请求携带有账号标识和账号密码;基于所述账号标识和所述账号密码,对所述客户端进行身份验证;在所述客户端通过所述身份验证的情况下,获取初始图片和与所述账号标识对应的目标密钥;将所述目标密钥嵌入所述初始图片,得到载密图片;将所述载密图片发送至所述客户端。目标密钥隐藏在图片中不易被发现,攻击者难以识别图片中蕴含的信息,降低了目标密钥被暴露的风险,从而提高了被保护数据的安全性。
1.一种密钥加密方法,其特征在于,由服务端执行,所述方法包括:
2.根据权利要求1所述的密钥加密方法,其特征在于,所述将所述目标密钥嵌入所述初始图片,得到载密图片,包括:
3.根据权利要求1或2所述的密钥加密方法,其特征在于,所述将所述载密图片发送给所述客户端之后,所述方法还包括:
4.一种密钥加密方法,其特征在于,由客户端执行,所述方法包括:
5.根据权利要求4所述的密钥加密方法,其特征在于,所述将所述目标二进制编码进行转换,得到目标密钥之后,所述方法还包括:
6.一种密钥加密装置,其特征在于,应用于服务端,所述装置包括:
7.一种密钥加密装置,其特征在于,应用于客户端,所述装置包括:
8.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至3中任一项所述的密钥加密方法的步骤,或者所述计算机程序被所述处理器执行时实现如权利要求4或5所述的密钥加密方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的密钥加密方法的步骤,或者所述计算机程序被所述处理器执行时实现如权利要求4或5所述的密钥加密方法的步骤。
10.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至3中任一项所述的密钥加密方法的步骤,或者所述计算机指令被处理器执行时实现如权利要求4或5所述的密钥加密方法的步骤。