处方签名的防伪方法、装置、电子设备及存储介质与流程

文档序号:24415372发布日期:2021-03-26 21:00阅读:258来源:国知局
处方签名的防伪方法、装置、电子设备及存储介质与流程

1.本发明涉及数字医疗技术领域,具体涉及一种处方签名的防伪方法、装置、电子设备及存储介质。


背景技术:

2.目前药师处方随着无纸化的趋势,更多的是采用电子处方,现有技术主要通过在电子处方上进行普通签名,经常出现签名被修改或者签名笔迹被模仿的问题,并且随着图片合成技术的发展,发明人发现针对已签名的药师的电子处方的防伪变的更加困难,导致电子处方的安全性较低。
3.此外,在进行签名认证时,现有技术通过ca证书管理机构实现数字证书签名认证,成本高,签名认证耗时,并且,在患者拿到处方后,无法快速的验证电子处方中的签名是否被修改,签名验证效率低下。
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.解析模块,用于解析医师发送的第一电子处方的签名请求获得所述医师的识别码,并识别所述医师是否存在电子签名;
38.第一添加模块,用于当确定所述医师存在电子签名时,将所述医师的电子签名添
加至所述第一电子处方得到第二电子处方;
39.加密模块,用于将所述第二电子处方压缩成第一字符串,并对所述第一字符串进行加密得到第二字符串;
40.第二添加模块,用于将所述第二字符串设置为隐藏数据块并添加至所述第二电子处方中得到第三电子处方;
41.写入模块,用于将所述第三电子处方的哈希散列值定义为所述第三电子处方的识别码,并将所述第三电子处方的识别码写入所述第三电子处方得到目标电子处方。
42.本发明的第三方面提供一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述的处方签名的防伪方法。
43.本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的处方签名的防伪方法。
44.综上所述,本发明所述的处方签名的防伪方法、装置、电子设备及存储介质,一方面,通过将所述第二电子处方压缩成第一字符串,并对所述第一字符串进行加密得到第二字符串,由于所述第一字符串是通过逐行扫描得到的,确保了所述第二电子处方的信息的完整性;另一方面,将所述加密得到第二字符串以隐藏数据块的形式添加至所述第二电子处方中,确保了公匙的安全性,进而提高了所述第二电子处方的安全性;最后,通过将所述第三电子处方的识别码写入所述第三电子处方得到目标电子处方,无需记忆所述目标电子处方的识别码,避免所述目标电子处方的识别码泄露的现象,并且写入位置可以进行调整,提高了目标电子处方的多样性及安全性。
附图说明
45.图1是本发明实施例一提供的处方签名的防伪方法的流程图。
46.图2是本发明实施例二提供的处方签名的防伪装置的结构图。
47.图3是本发明实施例三提供的电子设备的结构示意图。
具体实施方式
48.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
49.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
50.实施例一
51.图1是本发明实施例一提供的处方签名的防伪方法的流程图。
52.在本实施例中,所述处方签名的防伪方法可以应用于电子设备中,对于需要进行处方签名的防伪的电子设备,可以直接在电子设备上集成本发明的方法所提供的处方签名的防伪的功能,或者以软件开发工具包(software development kit,skd)的形式运行在电子设备中。
53.如图1所示,所述处方签名的防伪方法具体包括以下步骤,根据不同的需求,该流
程图中步骤的顺序可以改变,某些可以省略。
54.s11,解析医师发送的第一电子处方的签名请求获得所述医师的识别码,并识别所述医师是否存在电子签名。
55.本实施例中,所述第一电子处方的签名请求由电子设备向服务器发送,用于请求针对医师开具的电子处方进行签名,具体地,所述第一电子处方的签名请求可以由医师在对患者进行诊疗后,通过电子设备向服务器发送,如可以通过电子设备登录医疗机构,如医院医疗系统中的处方加签系统,在所述处方加签系统中向医疗系统服务发送第一电子处方的签名请求。
56.本实施例中,所述第一电子处方的签名请求中携带有登录信息,解析所述登录信息获取所述医师的识别码,具体地,所述医师的识别码用以唯一识别所述医师的身份,在获取所述医生的识别码后,在加签系统中识别是否存在所述医师的识别码,根据识别结果确定所述医师是否存在电子签名。
57.可选地,所述识别所述医师是否存在电子签名包括:
58.查询预设的第一数据库中是否存在与所述医师的识别码相匹配的第一目标识别码;
59.当查询到所述预设的第一数据库中存在所述第一目标识别码时,确定所述医师存在电子签名;或者
60.当查询到所述预设的第一数据库中不存在所述第一目标识别码时,确定所述医师不存在电子签名。
61.本实施例中,所述预设的第一数据库中预先存储有所有存在签名的医师的识别码,当在所述预设的第一数据库中查询到与所述医师的识别码相匹配的第一目标识别码时,确定所述医师存在电子签名;当在所述预设的第一数据库中未查询到与所述医师的识别码相匹配的第一目标识别码时,确定所述医师不存在电子签名,所述医师不存在电子签名时,需要医师上传预设的电子签名,具体地,所述预设的电子签名可以是所述医师通过手写板绘制的电子签名,也可以是所述医师通过手写后扫描成图片上传的电子签名。
62.s12,当确定所述医师存在电子签名时,将所述医师的电子签名添加至所述第一电子处方得到第二电子处方。
63.本实施例中,所述第二电子处方是在所述医师上传的电子处方中添加所述医师的电子签名后得到的,具体地,所述第二电子处方对应的文件格式为图片格式,例如,可以为png图片格式。
64.s13,将所述第二电子处方压缩成第一字符串,并对所述第一字符串进行加密得到第二字符串。
65.本实施例中,所述第一字符串是通过对所述第二电子处方进行逐行扫描后映射得到的,所述第二字符串是通过对所述第一字符串通过加密算法进行加密后得到的。
66.可选地,所述将所述第二电子处方压缩成第一字符串包括:
67.逐行扫描所述第二电子处方获取每个像素点的像素值;
68.根据所述每个像素点的像素值生成二维数组;
69.使用编码算法将所述二维数组压缩成第一字符串。
70.本实施例中,所述第二电子处方为图片格式,处于不可编辑状态,通过逐行扫描所
述第二电子处方获取每个像素点的像素值得到所述第二电子处方的加密前的二维数组,具体地,通过逐行扫描所述第二电子处方为了确保采集到所述第二电子处方完整信息,使用编码算法将所述加密前的二维数组压缩成第一字符串,其中,所述编码算法为现有技术。
71.本实施例中,通过逐行扫描所述第二电子处方获取每个像素点的像素值,确保了得到所述第二电子处方的信息的完整性。
72.可选地,所述对所述第一字符串进行加密得到第二字符串包括:
73.获取根据所述医师的登录信息生成的私匙;
74.通过所述私匙计算得到所述第一电子处方对应的公匙,并根据所述公匙对所述第一字符串进行加密得到第二字符串。
75.本实施例中,所述登录信息包括,但不限于所述医师的用户名、密码、识别码及手机号码,每个医师在登录医疗机构的加签系统的过程中,在所述加签系统中进行注册登录,在所述医师注册登录后所述加签系统会根据每个医师的登录信息为每个医师生成一个唯一确定,且不重复的密匙作为所述医师的私匙,具体地,每个私匙对应多个公匙,当所述医师发送多个电子处方的签名请求时,会根据所述医师的私匙为每个电子处方生成一个公匙,所述公匙患者和医师都不可查,提高了所述电子处方的安全性和保密性。
76.s14,将所述第二字符串设置为隐藏数据块并添加至所述第二电子处方中得到第三电子处方。
77.本实施例中,通过将加密后的第二字符串设置为隐藏数据块添加至所述第二电子处方,由于加密的第二字符串中包含有公匙,确保了公匙的安全性,进而提高了所述第二电子处方的安全性。
78.可选地,所述将所述第二字符串设置为隐藏数据块并添加至所述第二电子处方中得到第三电子处方包括:
79.读取所述第二电子处方中的所有数据块,其中,所述所有数据块中包括结束数据块;
80.将所述第二字符串按照每个数据块的结构设置为隐藏数据块,并将所述隐藏数据块添加至所述结束数据块的前一个位置;
81.对所述隐藏数据块进行校验;
82.当所述隐藏数据块校验成功后,将所述所有数据块和所述隐藏数据块依次保存至同一个文件中,生成第三电子处方。
83.本实施例中,解析所述第二电子处方,读取所述第二电子处方中所有数据块,每个数据块的结构都是固定的,所述每个数据块的结构都包括数据域的长度、数据块类型码、数据块数据以及循环冗余检测,具体的,对所述第二电子处方进行读取,利用数据块由4字节的长度、4字节的数据块类型码、可变字节长度的数据块数据和4个字节的crc的结构,对所述第二电子处方的文件格式进行拆分得到所述第二电子处方的每一个数据块。
84.本实施例中,将所述第二字符串按照每个数据块的结构进行添加至所述数据块的前一个位置得到隐藏数据块,确保所述第二电子处方的固有属性不会改变,具体地,所述隐藏数据块由四部分组成:4字节的length(长度)、4字节的chunk type code(数据块类型码)、字节长度可变的chunk data(数据块数据)和4字节的crc(循环冗余检测),数据块数据存储按照所述隐藏数据块类型码指定的数据,循环冗余检测存储用来检测所述隐藏数据块
是否有错误的循环冗余码,在校验所述隐藏数据块成功时,确保所述隐藏数据块可以正常的显示和编辑,将所述所有数据块和所述隐藏数据块依次保存至同一个文件中,生成第三电子处方。
85.可选地,所述对所述隐藏数据块进行校验包括:
86.根据每个数据块中的循环冗余检测的规则集数据块类型码中的数据对所述隐藏数据块进行校验。
87.本实施例中,所述循环冗余检测域中的值是对数据块类型码域和数据块数据域中的数据进行计算得到的,具体地,所述循环冗余检测为现有技术,本实施例在此不做详述,通过对所述隐藏数据块进行检测,确保隐藏数据块无错误的循环冗余码。
88.本实施例中,通过在所述第二电子处方中添加文本信息数据块(text)类型的隐藏数据块,不改变所述第二电子处方的显示,由于所述隐藏数据块中包含有公匙,提高了公匙的安全性,进而提高了第二电子处方的安全性。
89.s15,将所述第三电子处方的哈希散列值定义为所述第三电子处方的识别码,并将所述第三电子处方的识别码写入所述第三电子处方得到目标电子处方。
90.本实施例中,通过哈希算法计算所述第三电子处方的哈希散列值,并将计算得到的哈希散列值设置为所述第三电子处方的识别码,具体地,所述第三电子处方的识别码可以写入所述第三电子处方的预设的位置,所述预设的位置可以为所述第三电子处方的头部或者尾部,也可以为开具所述第三电子处方的医师的偏好进行预先设置的位置,并将所述第三电子处方的识别码写入所述第三电子处方预设的位置得到目标电子处方,无需医师和患者记忆所述目标电子处方的识别码,避免所述目标电子处方的识别码泄露的现象。提高了目标电子处方的安全性。此外,将所述第三电子处方的识别码写入所述第三电子处方的写入位置可以进行调整,提高了目标电子处方的多样性。
91.可选地,在所述将所述第三电子处方的哈希散列值定义为所述第三电子处方的识别码之后,所述方法还包括:
92.关联所述第三电子处方的识别码和所述第一电子处方对应的公匙,并将关联后的所述第三电子处方的识别码存储至预设的第二数据库中。
93.本实施例中,通过将关联后的所述第三电子处方的识别码存储值所述预设的第二数据库中,便于在患者进行电子处方验证时快速的确定出所述电子处方是否被伪造。
94.进一步地,在将所述第三电子处方的识别码写入所述第三电子处方得到目标电子处方之后,所述方法还包括:
95.发送携带有验证所述目标电子处方的验证指令至验证中心;
96.接收所述验证中心上报的根据所述目标电子处方进行签名验证的第一验证结果;
97.按照预设的多个验证规则验证所述第一验证结果得到第二验证结果;
98.基于所述第二验证结果确定所述目标电子处方是否被伪造。
99.本实施例中,通过在验证中心验证所述目标电子处方得到第一验证结果,并将所述第一验证结果上报至服务器,按照预设的多个验证结果验证所述第一验证结果得到第二验证结果,根据所述第二验证结果确定所述目标电子处方是否被伪造。
100.进一步地,所述按照预设的多个验证规则验证所述第一验证结果得到第二验证结果包括:
101.获取所述第一验证结果中的所述目标电子处方的识别码,当在预设的第二数据库中未识别到与所述目标电子处方的识别码相匹配的第二目标识别码时,确定第二验证结果为所述目标电子处方为被伪造处方;
102.当在所述预设的第二数据库中识别到与所述目标电子处方的识别码相匹配的第二目标识别码时,获取所述第一验证结果中的第四电子处方,并对所述第四电子处方中的隐藏数据块进行解密得到解密后的二维数组,当所述解密后的二维数组中的所有像素值与逐行扫描所述目标电子处方获取的二维数组中的任意一个像素值不匹配时,确定所述第二验证结果为所述目标电子处方为被伪造处方,其中,所述第四电子处方是由去除所述目标电子处方中的识别码及隐藏数据块得到的。
103.本实施例中,验证规则可以预先设置,所述预设的多个验证规则可以为:验证所述目标电子处方中的识别码和验证所述目标电子处方中的隐藏数据块中的二维数组。
104.本实施例中,由于所述目标电子处方是在所述第三电子处方中加入所述第三电子处方的识别码得到的,在验证过程中,所述验证中心解析所述目标电子处方得到的第一验证结果,所述第一验证结果中包括解析所述目标电子处方得到的识别码,所述解析所述目标电子处方得到的识别码即为验证之前所述第三电子处方的识别码,其中,所述第三电子处方的识别码预先与所述第三电子处方对应的公匙关联后存储至加签系统预设的第二数据库中,具体地,获取所述第一验证结果中的所述目标电子处方的识别码,验证所述预设的第二数据库中是否存在所述目标电子处方的识别码,当在所述预设的第二数据库中未识别到与所述目标电子处方的识别码相匹配的第二目标识别码时,确定第二验证结果为所述目标电子处方的可能是伪造的。
105.本实施例中,当在所述预设的第二数据库中识别到与所述目标电子处方的识别码相匹配的第二目标识别码时,无法完全确定所述目标电子处方是否被伪造,需要进一步去除所述目标电子处方中的识别码及隐藏数据块,并获取与所述目标电子处方的识别码关联的所述第一电子处方对应的公匙对所述第四电子处方中的隐藏数据块进行解密得到解密后的二维数组,其中,所述解密后的二维数组与所述根据所述每个像素点的像素值生成的二维数组一致,在得到解密后的二维数组后,验证所述解密后的二维数组与逐行扫描所述第四电子处方中获取的二维数组中的任意一个像素值是否匹配,具体地,将所述解密后的二维数组与逐行扫描所述第四电子处方中获取的二维数组中的像素值进行一一匹配,当所述解密后的二维数组中的所有像素值与逐行扫描所述第四电子处方中获取的二维数组中的任意一个像素值不匹配时,确定所述第二验证结果为所述目标电子处方为被伪造处方。
106.本实施例中,通过直接通过上传医师开具的目标电子处方,解析所述目标电子处方中的识别码验证所述目标电子处方是否被伪造,当在预设的第二数据库中未识别到解析后的识别码时,确定所述目标电子处方被伪造,提高了验证所述电子处方是否被伪造的效率,当在预设的第二数据库中识别到解析后的识别码时,进一步的对所述目标电子处方进行解密得到解密后的二维数组,并将解密后的二维数组中的所有像素值与逐行扫描所述目标电子处方获取的二维数组中的任意一个像素值进行匹配,根据匹配结果确定所述目标电子处方是否被伪造,提高了电子处方的防伪验证的准确率。
107.综上所述,本实施例所述的处方签名的防伪方法,通过解析医师发送的第一电子处方的签名请求获得所述医师的识别码,并识别所述医师是否存在电子签名;当确定所述
医师存在电子签名时,将所述医师的电子签名添加至所述第一电子处方得到第二电子处方;将所述第二电子处方压缩成第一字符串,并对所述第一字符串进行加密得到第二字符串;将所述第二字符串设置为隐藏数据块并添加至所述第二电子处方中得到第三电子处方;将所述第三电子处方的哈希散列值定义为所述第三电子处方的识别码,并将所述第三电子处方的识别码写入所述第三电子处方得到目标电子处方。
108.本实施例,一方面,通过将所述第二电子处方压缩成第一字符串,并对所述第一字符串进行加密得到第二字符串,由于所述第一字符串是通过逐行扫描得到的,确保了所述第二电子处方的信息的完整性;另一方面,将所述加密得到第二字符串以隐藏数据块的形式添加至所述第二电子处方中,确保了公匙的安全性,进而提高了所述第二电子处方的安全性;最后,通过将所述第三电子处方的识别码写入所述第三电子处方得到目标电子处方,无需记忆所述目标电子处方的识别码,避免所述目标电子处方的识别码泄露的现象,并且写入位置可以进行调整,提高了目标电子处方的多样性及安全性。
109.此外,通过解析所述目标电子处方中的识别码验证所述目标电子处方是否被伪造,及将解密后的二维数组中的所有像素值与逐行扫描所述目标电子处方获取的二维数组中的任意一个像素值进行匹配,通过多个验证规则验证所述目标电子处方被伪造,提高了目标电子处方的防伪验证的效率及准确率。
110.实施例二
111.图2是本发明实施例二提供的处方签名的防伪装置的结构图。
112.在一些实施例中,所述处方签名的防伪装置20可以包括多个由程序代码段所组成的功能模块。所述处方签名的防伪装置20中的各个程序段的程序代码可以存储于电子设备的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)处方签名的防伪功能。
113.本实施例中,所述处方签名的防伪装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:解析模块201、第一添加模块202、加密模块203、第二添加模块204、写入模块205、发送模块206、接收模块207、验证模块208及确定模块209。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
114.解析模块201,用于解析医师发送的第一电子处方的签名请求获得所述医师的识别码,并识别所述医师是否存在电子签名。
115.本实施例中,所述第一电子处方的签名请求由电子设备向服务器发送,用于请求针对医师开具的电子处方进行签名,具体地,所述第一电子处方的签名请求可以由医师在对患者进行诊疗后,通过电子设备向服务器发送,如可以通过电子设备登录医疗机构,如医院医疗系统中的处方加签系统,在所述处方加签系统中向医疗系统服务发送第一电子处方的签名请求。
116.本实施例中,所述第一电子处方的签名请求中携带有登录信息,解析所述登录信息获取所述医师的识别码,具体地,所述医师的识别码用以唯一识别所述医师的身份,在获取所述医生的识别码后,在加签系统中识别是否存在所述医师的识别码,根据识别结果确定所述医师是否存在电子签名。
117.可选地,所述解析模块201识别所述医师是否存在电子签名包括:
118.查询预设的第一数据库中是否存在与所述医师的识别码相匹配的第一目标识别码;
119.当查询到所述预设的第一数据库中存在所述第一目标识别码时,确定所述医师存在电子签名;或者
120.当查询到所述预设的第一数据库中不存在所述第一目标识别码时,确定所述医师不存在电子签名。
121.本实施例中,所述预设的第一数据库中预先存储有所有存在签名的医师的识别码,当在所述预设的第一数据库中查询到与所述医师的识别码相匹配的第一目标识别码时,确定所述医师存在电子签名;当在所述预设的第一数据库中未查询到与所述医师的识别码相匹配的第一目标识别码时,确定所述医师不存在电子签名,所述医师不存在电子签名时,需要医师上传预设的电子签名,具体地,所述预设的电子签名可以是所述医师通过手写板绘制的电子签名,也可以是所述医师通过手写后扫描成图片上传的电子签名。
122.第一添加模块202,用于当确定所述医师存在电子签名时,将所述医师的电子签名添加至所述第一电子处方得到第二电子处方。
123.本实施例中,所述第二电子处方是在所述医师上传的电子处方中添加所述医师的电子签名后得到的,具体地,所述第二电子处方对应的文件格式为图片格式,例如,可以为png图片格式。
124.加密模块203,用于将所述第二电子处方压缩成第一字符串,并对所述第一字符串进行加密得到第二字符串。
125.本实施例中,所述第一字符串是通过对所述第二电子处方进行逐行扫描后映射得到的,所述第二字符串是通过对所述第一字符串通过加密算法进行加密后得到的。
126.可选地,所述加密模块203将所述第二电子处方压缩成第一字符串包括:
127.逐行扫描所述第二电子处方获取每个像素点的像素值;
128.根据所述每个像素点的像素值生成二维数组;
129.使用编码算法将所述二维数组压缩成第一字符串。
130.本实施例中,所述第二电子处方为图片格式,处于不可编辑状态,通过逐行扫描所述第二电子处方获取每个像素点的像素值得到所述第二电子处方的加密前的二维数组,具体地,通过逐行扫描所述第二电子处方为了确保采集到所述第二电子处方完整信息,使用编码算法将所述加密前的二维数组压缩成第一字符串,其中,所述编码算法为现有技术。
131.本实施例中,通过逐行扫描所述第二电子处方获取每个像素点的像素值,确保了得到所述第二电子处方的信息的完整性。
132.可选地,所述加密模块203对所述第一字符串进行加密得到第二字符串包括:
133.获取根据所述医师的登录信息生成的私匙;
134.通过所述私匙计算得到所述第一电子处方对应的公匙,并根据所述公匙对所述第一字符串进行加密得到第二字符串。
135.本实施例中,所述登录信息包括,但不限于所述医师的用户名、密码、识别码及手机号码,每个医师在登录医疗机构的加签系统的过程中,在所述加签系统中进行注册登录,在所述医师注册登录后所述加签系统会根据每个医师的登录信息为每个医师生成一个唯
一确定,且不重复的密匙作为所述医师的私匙,具体地,每个私匙对应多个公匙,当所述医师发送多个电子处方的签名请求时,会根据所述医师的私匙为每个电子处方生成一个公匙,所述公匙患者和医师都不可查,提高了所述电子处方的安全性和保密性。
136.第二添加模块204,用于将所述第二字符串设置为隐藏数据块并添加至所述第二电子处方中得到第三电子处方。
137.本实施例中,通过将加密后的第二字符串设置为隐藏数据块添加至所述第二电子处方,由于加密的第二字符串中包含有公匙,确保了公匙的安全性,进而提高了所述第二电子处方的安全性。
138.可选地,所述第二添加模块204将所述第二字符串设置为隐藏数据块并添加至所述第二电子处方中得到第三电子处方包括:
139.读取所述第二电子处方中的所有数据块,其中,所述所有数据块中包括结束数据块;
140.将所述第二字符串按照每个数据块的结构设置为隐藏数据块,并将所述隐藏数据块添加至所述结束数据块的前一个位置;
141.对所述隐藏数据块进行校验;
142.当所述隐藏数据块校验成功后,将所述所有数据块和所述隐藏数据块依次保存至同一个文件中,生成第三电子处方。
143.本实施例中,解析所述第二电子处方,读取所述第二电子处方中所有数据块,每个数据块的结构都是固定的,所述每个数据块的结构都包括数据域的长度、数据块类型码、数据块数据以及循环冗余检测,具体的,对所述第二电子处方进行读取,利用数据块由4字节的长度、4字节的数据块类型码、可变字节长度的数据块数据和4个字节的crc的结构,对所述第二电子处方的文件格式进行拆分得到所述第二电子处方的每一个数据块。
144.本实施例中,将所述第二字符串按照每个数据块的结构进行添加至所述数据块的前一个位置得到隐藏数据块,确保所述第二电子处方的固有属性不会改变,具体地,所述隐藏数据块由四部分组成:4字节的length(长度)、4字节的chunk type code(数据块类型码)、字节长度可变的chunk data(数据块数据)和4字节的crc(循环冗余检测),数据块数据存储按照所述隐藏数据块类型码指定的数据,循环冗余检测存储用来检测所述隐藏数据块是否有错误的循环冗余码,在校验所述隐藏数据块成功时,确保所述隐藏数据块可以正常的显示和编辑,将所述所有数据块和所述隐藏数据块依次保存至同一个文件中,生成第三电子处方。
145.可选地,所述对所述隐藏数据块进行校验包括:
146.根据每个数据块中的循环冗余检测的规则集数据块类型码中的数据对所述隐藏数据块进行校验。
147.本实施例中,所述循环冗余检测域中的值是对数据块类型码域和数据块数据域中的数据进行计算得到的,具体地,所述循环冗余检测为现有技术,本实施例在此不做详述,通过对所述隐藏数据块进行检测,确保隐藏数据块无错误的循环冗余码。
148.本实施例中,通过在所述第二电子处方中添加文本信息数据块(text)类型的隐藏数据块,不改变所述第二电子处方的显示,由于所述隐藏数据块中包含有公匙,提高了公匙的安全性,进而提高了第二电子处方的安全性。
149.写入模块205,用于将所述第三电子处方的哈希散列值定义为所述第三电子处方的识别码,并将所述第三电子处方的识别码写入所述第三电子处方得到目标电子处方。
150.本实施例中,通过哈希算法计算所述第三电子处方的哈希散列值,并将计算得到的哈希散列值设置为所述第三电子处方的识别码,具体地,所述第三电子处方的识别码可以写入所述第三电子处方的预设的位置,所述预设的位置可以为所述第三电子处方的头部或者尾部,也可以为开具所述第三电子处方的医师的偏好进行预先设置的位置,并将所述第三电子处方的识别码写入所述第三电子处方预设的位置得到目标电子处方,无需医师和患者记忆所述目标电子处方的识别码,避免所述目标电子处方的识别码泄露的现象。提高了目标电子处方的安全性。此外,将所述第三电子处方的识别码写入所述第三电子处方的写入位置可以进行调整,提高了目标电子处方的多样性。
151.可选地,在所述将所述第三电子处方的哈希散列值定义为所述第三电子处方的识别码之后,关联所述第三电子处方的识别码和所述第一电子处方对应的公匙,并将关联后的所述第三电子处方的识别码存储至预设的第二数据库中。
152.本实施例中,通过将关联后的所述第三电子处方的识别码存储值所述预设的第二数据库中,便于在患者进行电子处方验证时快速的确定出所述电子处方是否被伪造。
153.进一步地,在将所述第三电子处方的识别码写入所述第三电子处方得到目标电子处方之后,发送模块206,用于发送携带有验证所述目标电子处方的验证指令至验证中心。
154.接收模块207,用于接收所述验证中心上报的根据所述目标电子处方进行签名验证的第一验证结果。
155.验证模块208,用于按照预设的多个验证规则验证所述第一验证结果得到第二验证结果。
156.确定模块209,用于基于所述第二验证结果确定所述目标电子处方是否被伪造。
157.本实施例中,通过在验证中心验证所述目标电子处方得到第一验证结果,并将所述第一验证结果上报至服务器,按照预设的多个验证结果验证所述第一验证结果得到第二验证结果,根据所述第二验证结果确定所述目标电子处方是否被伪造。
158.进一步地,所述验证模块208按照预设的多个验证规则验证所述第一验证结果得到第二验证结果包括:
159.获取所述第一验证结果中的所述目标电子处方的识别码,当在预设的第二数据库中未识别到与所述目标电子处方的识别码相匹配的第二目标识别码时,确定第二验证结果为所述目标电子处方为被伪造处方;
160.当在所述预设的第二数据库中识别到与所述目标电子处方的识别码相匹配的第二目标识别码时,获取所述第一验证结果中的第四电子处方,并对所述第四电子处方中的隐藏数据块进行解密得到解密后的二维数组,当所述解密后的二维数组中的所有像素值与逐行扫描所述目标电子处方获取的二维数组中的任意一个像素值不匹配时,确定所述第二验证结果为所述目标电子处方为被伪造处方,其中,所述第四电子处方是由去除所述目标电子处方中的识别码及隐藏数据块得到的。
161.本实施例中,验证规则可以预先设置,所述预设的多个验证规则可以为:验证所述目标电子处方中的识别码和验证所述目标电子处方中的隐藏数据块中的二维数组。
162.本实施例中,由于所述目标电子处方是在所述第三电子处方中加入所述第三电子
处方的识别码得到的,在验证过程中,所述验证中心解析所述目标电子处方得到的第一验证结果,所述第一验证结果中包括解析所述目标电子处方得到的识别码,所述解析所述目标电子处方得到的识别码即为验证之前所述第三电子处方的识别码,其中,所述第三电子处方的识别码预先与所述第三电子处方对应的公匙关联后存储至加签系统预设的第二数据库中,具体地,获取所述第一验证结果中的所述目标电子处方的识别码,验证所述预设的第二数据库中是否存在所述目标电子处方的识别码,当在所述预设的第二数据库中未识别到与所述目标电子处方的识别码相匹配的第二目标识别码时,确定第二验证结果为所述目标电子处方的可能是伪造的。
163.本实施例中,当在所述预设的第二数据库中识别到与所述目标电子处方的识别码相匹配的第二目标识别码时,无法完全确定所述目标电子处方是否被伪造,需要进一步去除所述目标电子处方中的识别码及隐藏数据块,并获取与所述目标电子处方的识别码关联的所述第一电子处方对应的公匙对所述第四电子处方中的隐藏数据块进行解密得到解密后的二维数组,其中,所述解密后的二维数组与所述根据所述每个像素点的像素值生成的二维数组一致,在得到解密后的二维数组后,验证所述解密后的二维数组与逐行扫描所述第四电子处方中获取的二维数组中的任意一个像素值是否匹配,具体地,将所述解密后的二维数组与逐行扫描所述第四电子处方中获取的二维数组中的像素值进行一一匹配,当所述解密后的二维数组中的所有像素值与逐行扫描所述第四电子处方中获取的二维数组中的任意一个像素值不匹配时,确定所述第二验证结果为所述目标电子处方为被伪造处方。
164.本实施例中,通过直接通过上传医师开具的目标电子处方,解析所述目标电子处方中的识别码验证所述目标电子处方是否被伪造,当在预设的第二数据库中未识别到解析后的识别码时,确定所述目标电子处方被伪造,提高了验证所述电子处方是否被伪造的效率,当在预设的第二数据库中识别到解析后的识别码时,进一步的对所述目标电子处方进行解密得到解密后的二维数组,并将解密后的二维数组中的所有像素值与逐行扫描所述目标电子处方获取的二维数组中的任意一个像素值进行匹配,根据匹配结果确定所述目标电子处方是否被伪造,提高了电子处方的防伪验证的准确率。
165.综上所述,本实施例所述的处方签名的防伪装置,通过解析医师发送的第一电子处方的签名请求获得所述医师的识别码,并识别所述医师是否存在电子签名;当确定所述医师存在电子签名时,将所述医师的电子签名添加至所述第一电子处方得到第二电子处方;将所述第二电子处方压缩成第一字符串,并对所述第一字符串进行加密得到第二字符串;将所述第二字符串设置为隐藏数据块并添加至所述第二电子处方中得到第三电子处方;将所述第三电子处方的哈希散列值定义为所述第三电子处方的识别码,并将所述第三电子处方的识别码写入所述第三电子处方得到目标电子处方。
166.本实施例,一方面,通过将所述第二电子处方压缩成第一字符串,并对所述第一字符串进行加密得到第二字符串,由于所述第一字符串是通过逐行扫描得到的,确保了所述第二电子处方的信息的完整性;另一方面,将所述加密得到第二字符串以隐藏数据块的形式添加至所述第二电子处方中,确保了公匙的安全性,进而提高了所述第二电子处方的安全性;最后,通过将所述第三电子处方的识别码写入所述第三电子处方得到目标电子处方,无需记忆所述目标电子处方的识别码,避免所述目标电子处方的识别码泄露的现象,并且写入位置可以进行调整,提高了目标电子处方的多样性及安全性。
167.此外,通过解析所述目标电子处方中的识别码验证所述目标电子处方是否被伪造,及将解密后的二维数组中的所有像素值与逐行扫描所述目标电子处方获取的二维数组中的任意一个像素值进行匹配,通过多个验证规则验证所述目标电子处方被伪造,提高了目标电子处方的防伪验证的效率及准确率。
168.实施例三
169.参阅图3所示,为本发明实施例三提供的电子设备的结构示意图。在本发明较佳实施例中,所述电子设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
170.本领域技术人员应该了解,图3示出的电子设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
171.在一些实施例中,所述电子设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
172.需要说明的是,所述电子设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
173.在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述电子设备3中的处方签名的防伪装置20,并在电子设备3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(read

only memory,rom)、可编程只读存储器(programmable read

only memory,prom)、可擦除可编程只读存储器(erasable programmable read

only memory,eprom)、一次可编程只读存储器(one

time programmable read

only memory,otprom)、电子擦除式可复写只读存储器(electrically

erasable programmable read

only memory,eeprom)、只读光盘(compact disc read

only memory,cd

rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
174.在一些实施例中,所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述电子设备3的控制核心(control unit),利用各种接口和线路连接整个电子设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行电子设备3的各种功能和处理数据。
175.在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
176.尽管未示出,所述电子设备3还可以包括给各个部件供电的电源(比如电池),可选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交
流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备3还可以包括多种传感器、蓝牙模块、wi

fi模块等,在此不再赘述。
177.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
178.上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
179.在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述电子设备3的操作装置以及安装的各类应用程序(如所述的处方签名的防伪装置20)、程序代码等,例如,上述的各个模块。
180.所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到处方签名的防伪的目的。
181.在本发明的一个实施例中,所述存储器31存储多个指令,所述多个指令被所述至少一个处理器32所执行以实现处方签名的防伪的功能。
182.具体地,所述至少一个处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
183.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
184.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
185.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
186.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。本发明中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
187.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1