WO2023015852A1 - 一种应用日志的打码输出方法、装置及计算机可读存储介质 - Google Patents

一种应用日志的打码输出方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
WO2023015852A1
WO2023015852A1 PCT/CN2022/074660 CN2022074660W WO2023015852A1 WO 2023015852 A1 WO2023015852 A1 WO 2023015852A1 CN 2022074660 W CN2022074660 W CN 2022074660W WO 2023015852 A1 WO2023015852 A1 WO 2023015852A1
Authority
WO
WIPO (PCT)
Prior art keywords
sensitive information
log
interface
value
thread
Prior art date
Application number
PCT/CN2022/074660
Other languages
English (en)
French (fr)
Inventor
陈林
林浩丹
王炟
柏慧荣
Original Assignee
中国银联股份有限公司
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 中国银联股份有限公司 filed Critical 中国银联股份有限公司
Publication of WO2023015852A1 publication Critical patent/WO2023015852A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Definitions

  • the invention belongs to the field of log output, and in particular relates to a coding output method, device and computer-readable storage medium of an application log.
  • coding preprocessing is generally based on rules. For example, regular expression matching is performed on the log printing content, and coding processing is performed after matching. This will cause low efficiency and unavoidable misjudgment.
  • the present invention provides the following solutions.
  • a method for coding and outputting an application log including: defining an interface for a data input interface to mark a sensitive information field; extracting sensitive information corresponding to the marked sensitive information field from the data input interface value, and write it into the thread variable storage; when the log needs to be printed, call the log printing encapsulation interface to query the thread variable storage, if there are sensitive information values in the log message to be printed, the log message will be coded and output safely.
  • the method before writing the sensitive information value into the thread variable storage, the method further includes: creating a thread variable storage, which is used to save the sensitive information value list of the current thread.
  • the data input interface includes: a service interface and/or a database interface.
  • the method further includes: after the processing of the request executed by the current thread is completed, clearing the sensitive information value list of the current thread in the thread variable memory.
  • carry out interface definition for data input interface, to mark sensitive information field also include: for the object-oriented programming of JAVA, add sensitive field on the sensitive information field of the Java Bean class of parameter class and/or database operation annotation.
  • extracting the sensitive information value defined by the interface from the data input interface also includes: for JAVA object-oriented programming, adding an AOP aspect in the application, so that the input service interface parameters will be annotated with sensitive fields
  • the value of the sensitive information field is stored in the thread variable storage, and/or, for the method of the Repository class of the database operation, the value of the sensitive information field with the sensitive field annotation is stored in the thread variable storage for the entity Bean in the method return value.
  • the interface definition is performed for the data input interface to mark sensitive information fields, and further includes: for structured programming in C language, defining the parameter structure of the outermost interface input and/or the host variable structure of the database interface layer body, and at the same time declare a static array of start and end offsets involving sensitive information in the structure.
  • extracting the sensitive information value defined by the interface from the data input interface further includes: for the C structured programming language, while obtaining the value of the parameter or database array variable, according to the static array of the start and end offset of the sensitive information Extract sensitive information value and write to thread variable memory.
  • the log printing encapsulation interface is called to query the thread variable memory, and if there is sensitive information value in the log message, the log message is coded and then output safely, including: sequentially searching whether there is a sensitive information value in the thread variable memory in the log message.
  • Information value if it exists, code the input parameter value corresponding to the sensitive information value in the log message to output a new value string; use the new value string and call the standard development library or third-party log framework for safe output.
  • it further includes: when the log printing level is lower than the set level, directly calling a standard development library or a third-party log framework to output.
  • an application log coding output device including: an interface definition and marking component, used to define an interface for a data input interface, to mark sensitive information fields; a marking variable extraction component, used to extract from the data input interface The sensitive information value corresponding to the marked sensitive information field is written into the thread variable memory; the log printing encapsulation component is used to call the log printing encapsulation interface to query the thread variable memory when the log needs to be printed. information value, the log message is coded and output safely.
  • it further includes: a thread variable management component, configured to create a thread variable storage to store the sensitive information value list of the current thread.
  • the data input interface includes: a service interface and/or a database interface.
  • the thread variable management component is further configured to: clear the sensitive information value list of the current thread in the thread variable storage after the processing of the request executed by the current thread is completed.
  • the interface definition and marking component is also used for: aiming at JAVA object-oriented programming, adding sensitive field annotations on the sensitive information fields of the Java Bean class of the parameter class and/or database operation.
  • the mark variable extraction component is also used to: aim at JAVA object-oriented programming, add an AOP aspect in the application, so that for the input service interface parameters, the value of the sensitive information field with the sensitive field annotation is stored To the thread variable storage, and/or, for the method of the Repository class of the database operation, store the value of the sensitive information field with the sensitive field annotation in the thread variable storage for the entity Bean in the method return value.
  • the interface definition and markup component is also used for: for structured programming in C language, define the parameter structure input by the outermost interface and/or the host variable structure of the database interface layer, and at the same time declare the structure in the structure A static array of start and end offsets involving sensitive information.
  • the mark variable extraction component is also used for: for C structured programming language, while obtaining the value of the parameter or database array variable, extract the sensitive information value according to the static array of the start and end offset of the sensitive information, and Write to thread variable memory.
  • the log printing encapsulation component is also used to: sequentially search whether there is a sensitive information value in the thread variable memory in the log message, and if it exists, print the input parameter value corresponding to the sensitive information value in the log message Code processing to output a new value string; use the new value string and call the standard development library or third-party log framework for safe output.
  • the log printing encapsulation component is also used to: when the log printing level is lower than the set level, directly call the standard development library or a third-party log framework to output.
  • an application log coding output device including: at least one processor; and a memory connected to the at least one processor in communication; wherein, the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by At least one processor executes, so that at least one processor can execute: the method of the first aspect.
  • a computer-readable storage medium stores a program, and when the program is executed by a multi-core processor, the multi-core processor executes the method in the first aspect.
  • the application log coding output solution in this embodiment can avoid the problem of coding misjudgment, and the efficiency is higher than that of rule matching based on regularization.
  • FIG. 1 is a schematic structural diagram of an application coding output device according to an embodiment of the present invention
  • FIG. 2 is a schematic flow diagram of an application coding output method according to an embodiment of the present invention.
  • Fig. 3 is a schematic structural diagram of an application coding output device according to another embodiment of the present invention.
  • A/B can mean A or B; "and/or” in this article is just an association relationship describing associated objects, indicating that there can be three relationships, For example, A and/or B may mean that A exists alone, A and B exist simultaneously, and B exists alone.
  • first”, “second”, etc. are used for descriptive purposes only, and should not be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, a feature defined as “first”, “second”, etc. may expressly or implicitly include one or more of that feature. In the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.
  • FIG. 1 is a schematic structural diagram of an application log coding output device according to an embodiment of the present application.
  • the application log code output device 100 may include: an interface definition and marking component 101, which is used to define an interface for a data input interface to mark a sensitive information field; a thread variable memory 103 is used to save the current thread Sensitive information value list; tag variable extraction component 104, which is used to extract the sensitive information value corresponding to the sensitive information field of the mark from the data input interface, and writes the thread variable memory 103; log printing encapsulation component 105, which is used for printing when required When logging, call the log printing encapsulation interface to query the thread variable storage. If there are sensitive information values in the log message to be printed, the log message will be coded and output safely.
  • an interface definition and marking component 101 which is used to define an interface for a data input interface to mark a sensitive information field
  • a thread variable memory 103 is used to save the current thread Sensitive information value list
  • tag variable extraction component 104 which is used to extract the sensitive information value corresponding to the sensitive information field of the mark from the data input interface, and writes the thread variable
  • the traditional coding output based on matching rules such as regularization is prone to misjudgment and is not efficient. For example, although mobile phone numbers are all numbers, the lengths of different countries and regions are different. No matter how the rules are specified, if the log is output for the interface data that covers many information elements, it cannot be guaranteed that the same length of digital string content will not appear in the interface. It is also possible that the string that is not the mobile phone number, that is, the content that does not need to be coded, will be processed additionally, and the log content that should have been coded may also be missed.
  • Fig. 2 is a schematic flow diagram of an application log coding output method according to an embodiment of the present application, which is used to execute the safe output of application logs.
  • the execution subject may be one or more electronic devices ; From a program point of view, the subject of execution may be a program carried on these electronic devices.
  • the execution subject of the method may be the application log coding output device in the embodiment shown in FIG. 1 .
  • the method 100 provided in this embodiment may include the following steps:
  • S201 Define an interface for a data input interface to mark a sensitive information field.
  • the data input interface includes: a service interface and/or a database interface, and of course may also include other interfaces for data input, which is not specifically limited in the present application.
  • S201 may include: for JAVA object-oriented programming, adding sensitive field annotations to the sensitive information fields of the parameter class and/or the Java Bean class operated by the database.
  • S201 may also include: for structured programming in C language, define the parameter structure input by the outermost interface and/or the host variable structure of the database interface layer, and at the same time declare the start and end of sensitive information in the structure Static array of offsets.
  • creating a thread variable storage which is used to store the sensitive information value list of the current thread.
  • the thread variable storage may be created immediately before the processing of the request executed by the current thread, or the thread variable storage may be pre-created when the component is initialized, which is not specifically limited in the present application.
  • a marked variable extraction component 104 can be added to the service interface such as REST and the database access interface, which is responsible for uniformly intercepting sensitive information values and storing them in the thread variable storage for subsequent log output by the underlying components to log according to the sensitive information values filter.
  • S202 may include: for JAVA object-oriented programming, adding an AOP (Aspect Oriented Programming, aspect-oriented programming) aspect to the application, so that the input service interface parameters will be annotated with sensitive fields
  • AOP Application Oriented Programming, aspect-oriented programming
  • the value of the sensitive information field is stored in the thread variable storage, and/or, for the method of the Repository class of the database operation, the value of the sensitive information field with the sensitive field annotation is stored in the thread variable storage for the entity Bean in the method return value.
  • S202 may also include: for the C structured programming language, while obtaining the value of the parameter or database array variable, extracting the value of the sensitive information according to the static array of the start and end offsets of the sensitive information, and writing the value into the thread Variable memory.
  • a thread variable storage 103 can be created through the thread variable management component 102 to store the sensitive information value list of the current thread.
  • the thread variable storage can be, for example, ThreadLocal in Java applications, local variables in C language, etc.
  • the S203 is executed by using the log printing encapsulation component 105 .
  • the print log no longer calls println () or logger.info () in the standard development library or the third-party log framework, and the log printing package component 105 is designed to
  • the printing operation is encapsulated in one layer, and the external interface parameters of the log printing encapsulation component 105 are consistent with the standard development library or third-party library, and there are only differences in names.
  • the log printing encapsulation component 105 itself is equivalent to a log framework, which is referenced during coding in the form of a function library or a development kit.
  • the log printing encapsulation component 105 can be divided into two sub-processing modules: the first sub-processing module, which searches in turn whether there is a sensitive information value in the thread variable storage in the log message, and if it exists, it will check the sensitive information corresponding to the sensitive information in the log message.
  • the input parameter value of the value is coded to output a new value string; the second sub-processing module uses the new value string to call a standard development library or a third-party log framework for safe output.
  • the printed log will be filtered safely under the function of the log printing encapsulation component in any subsequent processing links, and there will be no omission.
  • the above method may further include: when the log printing level is lower than the set level, directly calling a standard development library or a third-party log framework to output. That is, in order to increase the readability of development and debugging or production and running messages, the log printing package component provides log data level control. When the log printing level is lower than a certain level, the first sub-processing module is directly skipped, that is, no thread is searched. Variable memory to change the printed value string.
  • the code replacement can be replaced based on rules, for example, it can be replaced according to the length of the value.
  • the value string corresponding to the sensitive information value is greater than or equal to 8 bytes, the first 40% and the last 20% of the characters are kept unchanged, with * in the middle replace.
  • the value string is greater than 3 digits and less than 8 digits, only the last 2 digits are visible, and the others are replaced by *.
  • the value string is less than or equal to 3 bytes, replace all with *.
  • the above method may further include: clearing the sensitive information value list of the current thread in the thread variable storage after the processing of the request executed by the current thread is completed.
  • the cleaning interface of the thread management component 102 is invoked to clean up the thread variable memory.
  • the sensitive information value list of the current thread is cleared. In this way, when the current thread or service accepts the next request, a new process will be restarted without any interruption.
  • first and second are used for descriptive purposes only, and cannot be interpreted as indicating or implying relative importance or implicitly specifying the quantity of indicated technical features.
  • the features defined as “first” and “second” may explicitly or implicitly include at least one of these features.
  • “plurality” means at least two, such as two, three, etc., unless otherwise specifically defined.
  • FIG. 1 is a schematic diagram of an application log coding output structure provided by an embodiment of the present invention.
  • the device 100 includes:
  • Interface definition and marking component 101 used for interface definition for data input interface, to mark sensitive information fields
  • thread variable storage 103 used to save the sensitive information value list of current thread
  • marked variable extraction component 104 used for from data input
  • the interface extracts the sensitive information value corresponding to the sensitive information field of the mark, and writes it into the thread variable memory 103
  • the log printing encapsulation component 105 is used to call the log printing encapsulation interface to query the thread variable memory when the log needs to be printed, if the log to be printed If there are sensitive information values in the message, the log message will be coded and output safely.
  • it further includes: a thread variable management component 102, configured to create a thread variable storage 103 to store the sensitive information value list of the current thread.
  • the data input interface includes: a service interface and/or a database interface.
  • the thread variable management component 102 is further configured to: clear the sensitive information value list of the current thread in the thread variable memory after the processing of the request executed by the current thread is completed.
  • the interface definition and marking component 101 is also used for: aiming at JAVA object-oriented programming, adding a sensitive field annotation on the sensitive information field of the Java Bean class of the parameter class and/or database operation.
  • the mark variable extraction component 104 is also used for: aiming at JAVA object-oriented programming, adding an AOP aspect in the application, so that for the input service interface parameter, the value of the sensitive information field with the sensitive field annotation Stored in the thread variable storage, and/or, for the method of the Repository class for database operations, store the value of the sensitive information field with the sensitive field annotation in the thread variable storage for the entity Bean in the method return value.
  • the interface definition and marking component 101 is also used for: for structured programming in C language, define the parameter structure input by the outermost interface and/or the host variable structure of the database interface layer, and at the same time declare the structure A static array of start and end offsets involving sensitive information in .
  • the marked variable extraction component 104 is also used to: for the C structured programming language, while obtaining the value of the parameter or the database array variable, extract the sensitive information value according to the static array of the start and end offset of the sensitive information, And write to the thread variable memory.
  • the log printing encapsulation component 105 is also used to: sequentially search whether there is a sensitive information value in the thread variable memory in the log message, and if it exists, perform an input parameter value corresponding to the sensitive information value in the log message. Code processing to output a new value string; use the new value string and call the standard development library or third-party log framework for safe output.
  • the log printing encapsulation component 105 is further configured to: when the log printing level is lower than a set level, directly call a standard development library or a third-party log framework to output.
  • the application log coding output device in the embodiment of the present application can realize the various processes of the above-mentioned application log coding output method embodiment, and achieve the same effect and function, which will not be repeated here.
  • Fig. 3 is an application log coding output device according to an embodiment of the present application, which is used to execute the application log coding output method shown in Fig. 2, the device includes: at least one processor; and communicates with at least one processor Connected memory; wherein, the memory stores instructions executable by at least one processor, and the instructions are executed by at least one processor, so that the at least one processor can execute the methods of the above-mentioned embodiments.
  • a non-volatile computer storage medium applying the log coding output method, on which computer-executable instructions are stored, and the computer-executable instructions are configured to be executed when run by a processor: the above Example method.
  • the device, device, and computer-readable storage medium provided in the embodiments of the present application correspond to the method one-to-one. Therefore, the device, device, and computer-readable storage medium also have beneficial technical effects similar to their corresponding methods.
  • the beneficial technical effect of the method has been described in detail, therefore, the beneficial technical effect of the device, equipment and computer-readable storage medium will not be repeated here.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种应用日志打码输出方法、装置、系统及计算机可读存储介质,该方法包括:针对数据输入接口进行接口定义,以标记敏感信息字段;从数据输入接口提取标记的敏感信息字段对应的敏感信息值,并写入线程变量存储器;当需要打印日志时,调用日志打印封装接口查询线程变量存储器,若待打印的日志消息中存在敏感信息值,则对日志消息进行打码后安全输出。利用上述方法,能够避免打码错误,且打码效率更高。

Description

一种应用日志的打码输出方法、装置及计算机可读存储介质
本申请要求于2021年08月11日提交的、申请号为202110918655.7、标题为“一种应用日志的打码输出方法、装置及计算机可读存储介质”的中国专利申请的优先权,该中国专利申请的公开内容以引用的方式并入本文。
技术领域
本发明属于日志输出领域,具体涉及一种应用日志的打码输出方法、装置及计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着对隐私数据的保护要求越来越严,应用日志需对敏感数据打码后输出。若要实现针对包括敏感信息的日志打码输出,一般需要在应用调用日志底层框架输出日志之前通过各种手段将带有敏感信息的日志内容转换按照固定逻辑进行转换,再用转换后的打码内容作为输入调用日志框架进行输出。
然而,上述方案中每次调用日志底层框架输出日志前,需要附带额外的打码预处理,等于应用调用日志的API发生改变,应用需要做改造,而这个对于编程习惯有较大改变,而且容易疏忽导致某一处日志打印调用前漏加预处理,导致达不到打码效果。此外,打码预处理一般是基于规则的,比如对日志打印内容进行正则表达式匹配,匹配后再进行打码处理,这样会产生效率低下问题,也无法避免出现误判。
因此,如何高效且准确地进行应用日志打码输出是一个亟待解决的问题。
发明内容
针对上述现有技术中存在的问题,提出了一种应用日志的打码输出方法、装置及计算机可读存储介质,利用这种方法、装置及计算机可读存储介质,能够解决上述问题。
本发明提供了以下方案。
第一方面,提供一种一种应用日志打码输出方法,包括:针对数据输入接口进行接口定义,以标记敏感信息字段;从数据输入接口提取所述标记的所述敏感信息字段对应的敏感信息值,并写入线程变量存储器;当需要打印日志时,调用日志打印封装接口查询线程变量存储器,若待打印的日志消息中存在敏感信息值,则对日志消息进行打码后安全输出。
一种实施方式中,将敏感信息值写入线程变量存储器之前,方法还包括:创建线程变量存储器,其用于保存当前线程的敏感信息值列表。
一种实施方式中,数据输入接口包括:服务接口和/或数据库接口。
一种实施方式中,方法还包括:在当前线程执行的请求处理完成之后,清除线程变量存储器中的当前线程的敏感信息值列表。
一种实施方式中,针对数据输入接口进行接口定义,以标记敏感信息字段,还包括:针对JAVA的面向对象编程,在参数类和/或数据库操作的Java Bean类的敏感信息字段上添加敏感字段注解。
一种实施方式中,从数据输入接口提取接口定义的敏感信息值,还包括:针对JAVA的面向对象编程,在应用中添加AOP切面,从而对输入的服务接口参数,将带有敏感字段注解的敏感信息字段的值存放到线程变量存储器,和/或,针对数据库操作的Repository类的方法,对方法返回值中的实体Bean将带有敏感字段注解的敏感信息字段的值存放到线程变量存储器。
一种实施方式中,针对数据输入接口进行接口定义,以标记敏感信息字段,还包括:针对C语言的结构化编程,定义最外层接口输入的参数结构体和/或数据库接口层宿主变量结构体,同时申明结构体中涉及敏感信息的起止偏移量静态数组。
一种实施方式中,从数据输入接口提取接口定义的敏感信息值,还包括:针对C结构化编程语言,在获得参数或数据库数组变量的值的同时,根据敏感信息的起止偏移量静态数组提取敏感信息值,并写入线程变量存储器。
一种实施方式中,调用日志打印封装接口查询线程变量存储器,若日志消息中存在敏感信息值则对日志消息进行打码后安全输出,包括:依次查找日志消息中是否存在线程变量存储器中的敏感信息值,若存在,则对日志消息中对应于敏感信息值的输入参数数值进行打码处理,以输出新数值串;采用新数值串并调用标准开发库或第三方日志框架进行安全输出。
一种实施方式中,还包括:当日志打印级别低于设定级别时,直接调用标准开发库或第三方日志框架进行输出。
第二方面,提供一种应用日志打码输出装置,包括:接口定义与标记组件,用于针对数据输入接口进行接口定义,以标记敏感信息字段;标记变量提取组件,用于从数据输入接口 提取标记的敏感信息字段对应的敏感信息值,并写入线程变量存储器;日志打印封装组件,用于当需要打印日志时,调用日志打印封装接口查询线程变量存储器,若待打印的日志消息中存在敏感信息值,则对日志消息进行打码后安全输出。
一种实施方式中,还包括:线程变量管理组件,用于创建线程变量存储器以保存当前线程的敏感信息值列表。
一种实施方式中,数据输入接口包括:服务接口和/或数据库接口。
一种实施方式中,线程变量管理组件,还用于:在当前线程执行的请求处理完成之后,清除线程变量存储器中的当前线程的敏感信息值列表。
一种实施方式中,接口定义与标记组件,还用于:针对JAVA的面向对象编程,在参数类和/或数据库操作的Java Bean类的敏感信息字段上添加敏感字段注解。
一种实施方式中,标记变量提取组件,还用于:针对JAVA的面向对象编程,在应用中添加AOP切面,从而对输入的服务接口参数,将带有敏感字段注解的敏感信息字段的值存放到线程变量存储器,和/或,针对数据库操作的Repository类的方法,对方法返回值中的实体Bean将带有敏感字段注解的敏感信息字段的值存放到线程变量存储器。
一种实施方式中,接口定义与标记组件,还用于:针对C语言的结构化编程,定义最外层接口输入的参数结构体和/或数据库接口层宿主变量结构体,同时申明结构体中涉及敏感信息的起止偏移量静态数组。
一种实施方式中,标记变量提取组件,还用于:针对C结构化编程语言,在获得参数或数据库数组变量的值的同时,根据敏感信息的起止偏移量静态数组提取敏感信息值,并写入线程变量存储器。
一种实施方式中,日志打印封装组件,还用于:依次查找日志消息中是否存在线程变量存储器中的敏感信息值,若存在,则对日志消息中对应于敏感信息值的输入参数数值进行打码处理,以输出新数值串;采用新数值串并调用标准开发库或第三方日志框架进行安全输出。
一种实施方式中,日志打印封装组件,还用于:当日志打印级别低于设定级别时,直接调用标准开发库或第三方日志框架进行输出。
第三方面,提供一种应用日志打码输出装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:如第一方面的方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被多核处理器执行时,使得多核处理器执行如第一方面的方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:采用本实施例中的应用日志打码输出方案,可以避免出现打码误判问题,而且效率要比基于正则的规则匹配高。
应当理解,上述说明仅是本发明技术方案的概述,以便能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施。为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举例说明本发明的具体实施方式。
附图说明
通过阅读下文的示例性实施例的详细描述,本领域普通技术人员将明白本文所述的优点和益处以及其他优点和益处。附图仅用于示出示例性实施例的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的标号表示相同的部件。在附图中:
图1为根据本发明一实施例的应用打码输出装置的结构示意图;
图2为根据本发明一实施例的应用打码输出方法的流程示意图;
图3为根据本发明又一实施例的应用打码输出装置的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本申请实施例的描述中,应理解,诸如“包括”或“具有”等术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不旨在排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在的可能性。
除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请中的所有代码都是示例性的,本领域技术人员根据所使用的编程语言,具体的需求和个人习惯等因素会在不脱离本申请的思想的条件下想到各种变型。
另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1为根据本申请一实施例的应用日志打码输出装置的结构示意图。
如图1所示,应用日志打码输出装置100可以包括:接口定义与标记组件101、其用于针对数据输入接口进行接口定义,以标记敏感信息字段;线程变量存储器103用于保存当前线程的敏感信息值列表;标记变量提取组件104,其用于从数据输入接口提取标记的敏感信息字段对应的敏感信息值,并写入线程变量存储器103;日志打印封装组件105,其用于当需要打印日志时,调用日志打印封装接口查询线程变量存储器,若待打印的日志消息中存在敏感信息值,则对日志消息进行打码后安全输出。
传统基于正则等匹配规则的打码输出容易导致误判,且效率不高。比如,手机号虽然都是数字,各国各地区的长度不一样,无论怎么指定规则,若针对涵盖信息元素较多的接口数据输出日志,因为不能保证接口中不会出现同样长度的数字串内容,也就可能把本不是手机号的字符串即不需要打码的内容给额外出理了,也可能出现漏调本该打码的日志内容。
在本申请实施例中的应用日志打码输出方案中,最终实现的是在一个字符串(待打印的日志消息)中搜索另外一个固定子串(存在线程变量存储器中的敏感信息值),如此不会出现误判问题,而且效率要比基于正则的规则匹配高。
图2为根据本申请一实施例的应用日志打码输出方法的流程示意图,用于执行应用日志的安全输出,在该流程中,从设备角度而言,执行主体可以是一个或者多个电子设备;从程序角度而言,执行主体相应地可以是搭载于这些电子设备上的程序。在本实施例中,方法的执行主体可以是图1所示实施例中的应用日志打码输出装置。
如图2所示,本实施例提供的方法100可以包括以下步骤:
S201、针对数据输入接口进行接口定义,以标记敏感信息字段。
在一实施例中,数据输入接口包括:服务接口和/或数据库接口,当然也可以包括其他用于数据输入的接口,本申请对此不作具体限制。
在一实施例中,S201可以包括:针对JAVA的面向对象编程,在参数类和/或数据库操作的Java Bean类的敏感信息字段上添加敏感字段注解。
例如,针对Java等面向对象的编程,可以在参数类的敏感信息字段上添加注解“@Sensitive”,标记其是敏感字段,而在数据库操作Java实体Bean类的敏感信息字段上添加注解“@Sensitive”,标记其是敏感字段。
另一实施例中,S201还可以包括:针对C语言的结构化编程,定义最外层接口输入的参数结构体和/或数据库接口层宿主变量结构体,同时申明结构体中涉及敏感信息的起止偏移量静态数组。
例如,针对C语言的结构化编程,则可以定义最外层接口输入的参数结构体或者数据库接口层宿主变量结构体,同时申明该结构体中涉及敏感数据的起止偏移量静态数组(形如“2,23”,“40,48”),这里“2,23”表示结构体中第2字节到至第23字节为敏感数据,“40,48”表示结构体中第40字节到第48字节为敏感数据。针对C结构化编程语言,如此定义则直接可以通过指针直接截取,而不需要知道具体哪个字段,再通过字段名转换,因为即使转换最终也还是会落到偏移量上。
S202、从数据输入接口提取标记的敏感信息字段对应的敏感信息值,并写入线程变量存储器。
在一种实施方式中,在S202之前,还可以执行:创建线程变量存储器,其用于保存当前线程的敏感信息值列表。具体来说,可以在当前线程执行的请求处理之前即时创建线程变量存储器,也可以在组件初始化时预创建该线程变量存储器,本申请对此不作具体限制。
参考图1,可以在REST等服务接口、数据库存取接口添加标记变量提取组件104,负责统一拦截敏感信息值并存入线程变量存储器,以供后续日志输出中由底层组件根据敏感信息值进行日志过滤。
在一种实施方式中,S202可以包括:针对JAVA的面向对象编程,在应用中添加AOP(Aspect Oriented Programming,面向切面编程,)切面,从而对输入的服务接口参数,将带有敏感字段注解的敏感信息字段的值存放到线程变量存储器,和/或,针对数据库操作的Repository类的方法,对方法返回值中的实体Bean将带有敏感字段注解的敏感信息字段的值存放到线程变量存储器。
例如,对传进来的REST接口参数,将带有诸如“@Sensitive”的预设注解的字段的值存放到当前线程的敏感信息值列表,或者对于数据库操作的Repository类的方法,对方法返回值中的实体Bean将带有诸如“@Sensitive”的预设注解注解的字段的值存放到当前线程的敏感信息值列表。
在一种实施方式中,S202还可以包括:针对C结构化编程语言,在获得参数或数据库数组变量的值的同时,根据敏感信息的起止偏移量静态数组提取敏感信息值,并写入线程变量存储器。
参考图1,可以通过线程变量管理组件102创建一个线程变量存储器103,用于存放当前线程的敏感信息值列表,线程变量存储器比如可以是Java应用中ThreadLocal,C语言中的局部变量等。
S203、当需要打印日志时,调用日志打印封装接口查询线程变量存储器,若待打印的日志消息中存在敏感信息值,则对日志消息进行打码后安全输出。
参考图1,利用日志打印封装组件105执行该S203。本实施例中,打印日志不再调用标准开发库或者第三方日志框架中的println()或者logger.info()等,该日志打印封装组件105设计为对上述标准开发库或者第三方日志框架中的打印操作进行一层封装,且日志打印封装组件105的对外接口参数与标准开发库或第三方库保持一致,只存在名称的差异。日志打印封装组件105本身相当于一个日志框架,以函数库或者开发包的形式供编码时引用。
进一步地,日志打印封装组件105可以分两个子处理模块:第一子处理模块,其依次查找日志消息中是否存在线程变量存储器中的敏感信息值,若存在,则对日志消息中对应于敏感信息值的输入参数数值进行打码处理,以输出新数值串;第二子处理模块,其采用新的数值串调用标准开发库或第三方日志框架进行安全输出。
通过上述步骤最终实现的是在一个字符串(待打印的日志消息)中搜索另外一个固定子串(线程变量存储器中的敏感信息值),如此不会出现误判问题,而且效率要比基于正则的规则匹配高。这里匹配的是敏感数据的数值,完全不受其它描述性内容的约束。针对程序员编码习惯的改变极小。例如,程序员的编码习惯比如是从println(“PAN=%s”,“622888000000001”)写法向如senitive_println(“PAN=%s”,“622888000000001”)的转变。而且只要当前线程执行的请求未处理结束,一旦入口处向线程变量存储器添加了敏感信息值,后续任何处理环节在日志打印封装组件的作用下,打印的日志都将被安全过滤,不会有任何遗漏。
可选的,上述方法还可以包括:当日志打印级别低于设定级别时,直接调用标准开发库或第三方日志框架进行输出。也即,为增加开发调试的可读性或者生产运行消息,日志打印封装组件提供日志数据级别控制,当日志打印级别低于一定级别的时候,直接跳过第一子处理模块,即不查找线程变量存储器去改变打印数值串。
此外,打码替换可基于规则进行替换,比如可以根据数值长度进行替换,当敏感信息值对应的数值串大于等于8字节时,保留前40%和尾部20%的字符不变,中间以*代替。或者,当数值串大于3位、小于8位时,只保留最后2位可见,其他以*代替。或者,当数值串小于等于3字节时,全部以*代替。
在一实施例中,上述方法还可以进一步包括:在当前线程执行的请求处理完成之后,清除线程变量存储器中的当前线程的敏感信息值列表。具体来说,参考图1,当请求处理结束后,调用线程管理组件102的清理接口,清理线程变量存储器。例如,Java中在相同切面中,REST接口处理完成后清除当前线程的敏感信息值列表。如此当前线程或者服务接受下一个请求时重新开始新的过程,不会有任何干扰。
在本说明书的描述中,参考术语“一些可能的实施方式”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
关于本申请实施例的方法流程图,将某些操作描述为以一定顺序执行的不同的步骤。这样的流程图属于说明性的而非限制性的。可以将在本文中所描述的某些步骤分组在一起并且在单个操作中执行、可以将某些步骤分割成多个子步骤、并且可以以不同于在本文中所示出的顺序来执行某些步骤。可以由任何电路结构和/或有形机制(例如,由在计算机设备上运行的软件、硬件(例如,处理器或芯片实现的逻辑功能)等、和/或其任何组合)以任何方式来实现在流程图中所示出的各个步骤。
基于相同的技术构思,本发明实施例还提供一种应用日志打码输出装置,用于执行上述任一实施例所提供的应用日志打码输出方法。图1为本发明实施例提供的一种应用日志打码输出结构示意图。
如图1所示,装置100包括:
接口定义与标记组件101,用于针对数据输入接口进行接口定义,以标记敏感信息字段;线程变量存储器103,用于保存当前线程的敏感信息值列表;标记变量提取组件104,用于从数据输入接口提取标记的敏感信息字段对应的敏感信息值,并写入线程变量存储器103;日志打印封装组件105,用于当需要打印日志时,调用日志打印封装接口查询线程变量存储器,若待打印的日志消息中存在敏感信息值,则对日志消息进行打码后安全输出。
一种实施方式中,还包括:线程变量管理组件102,用于创建线程变量存储器103以保存当前线程的敏感信息值列表。
一种实施方式中,数据输入接口包括:服务接口和/或数据库接口。
一种实施方式中,线程变量管理组件102,还用于:在当前线程执行的请求处理完成之后,清除线程变量存储器中的当前线程的敏感信息值列表。
一种实施方式中,接口定义与标记组件101,还用于:针对JAVA的面向对象编程,在参数类和/或数据库操作的Java Bean类的敏感信息字段上添加敏感字段注解。
一种实施方式中,标记变量提取组件104,还用于:针对JAVA的面向对象编程,在应用中添加AOP切面,从而对输入的服务接口参数,将带有敏感字段注解的敏感信息字段的值存放到线程变量存储器,和/或,针对数据库操作的Repository类的方法,对方法返回值中的实体Bean将带有敏感字段注解的敏感信息字段的值存放到线程变量存储器。
一种实施方式中,接口定义与标记组件101,还用于:针对C语言的结构化编程,定义最外层接口输入的参数结构体和/或数据库接口层宿主变量结构体,同时申明结构体中涉及敏感信息的起止偏移量静态数组。
一种实施方式中,标记变量提取组件104,还用于:针对C结构化编程语言,在获得参数或数据库数组变量的值的同时,根据敏感信息的起止偏移量静态数组提取敏感信息值,并写入线程变量存储器。
一种实施方式中,日志打印封装组件105,还用于:依次查找日志消息中是否存在线程变量存储器中的敏感信息值,若存在,则对日志消息中对应于敏感信息值的输入参数数值进行打码处理,以输出新数值串;采用新数值串并调用标准开发库或第三方日志框架进行安全输出。
一种实施方式中,日志打印封装组件105,还用于:当日志打印级别低于设定级别时,直接调用标准开发库或第三方日志框架进行输出。
需要说明的是,本申请实施例中的应用日志打码输出装置可以实现前述应用日志打码输出方法的实施例的各个过程,并达到相同的效果和功能,这里不再赘述。
图3为根据本申请一实施例的应用日志打码输出装置,用于执行图2所示出的应用日志打码输出方法,该装置包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例的方法。
根据本申请的一些实施例,提供了应用日志打码输出方法的非易失性计算机存储介质,其上存储有计算机可执行指令,该计算机可执行指令设置为在由处理器运行时执行:上述实施例的方法。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以其描述进行了简化,相关之处可参见方法实施例的部分说明即可。
本申请实施例提供的装置、设备和计算机可读存储介质与方法是一一对应的,因此,装置、设备和计算机可读存储介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述装置、设备和计算机可读存储介质的有益技术效果。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (22)

  1. 一种应用日志打码输出方法,其特征在于,包括:
    针对数据输入接口进行接口定义,以标记敏感信息字段;
    从数据输入接口提取所述标记的所述敏感信息字段对应的敏感信息值,并写入线程变量存储器;
    当需要打印日志时,调用日志打印封装接口查询所述线程变量存储器,若待打印的日志消息中存在所述敏感信息值,则对所述日志消息进行打码后安全输出。
  2. 根据权利要求1所述的方法,其特征在于,将所述敏感信息值写入所述线程变量存储器之前,所述方法还包括:
    创建线程变量存储器,其用于保存当前线程的敏感信息值列表。
  3. 根据权利要求1或2所述的方法,其特征在于,所述数据输入接口包括:服务接口和/或数据库接口。
  4. 根据权利要求2-3中任一项所述的方法,其特征在于,所述方法还包括:
    在当前线程执行的请求处理完成之后,清除所述线程变量存储器中的当前线程的敏感信息值列表。
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,针对数据输入接口进行接口定义,以标记敏感信息字段,还包括:
    针对JAVA的面向对象编程,在参数类和/或数据库操作的Java Bean类的所述敏感信息字段上添加敏感字段注解。
  6. 根据权利要求5所述的方法,其特征在于,从所述数据输入接口提取所述接口定义的敏感信息值,还包括:
    针对JAVA的面向对象编程,在应用中添加AOP切面,从而对输入的服务接口参数,将带有所述敏感字段注解的所述敏感信息字段的值存放到所述线程变量存储器,和/或,针对数据库操作的Repository类的方法,对方法返回值中的实体Bean将带有所述敏感字段注解的所述敏感信息字段的值存放到所述线程变量存储器。
  7. 根据权利要求1-6中任一项所述的方法,其特征在于,针对数据输入接口进行接口定义,以标记敏感信息字段,还包括:
    针对C语言的结构化编程,定义最外层接口输入的参数结构体和/或数据库接口层宿主变量结构体,同时申明结构体中涉及敏感信息的起止偏移量静态数组。
  8. 根据权利要求7所述的方法,其特征在于,从所述数据输入接口提取所述接口定义的敏感信息值,还包括:
    针对C结构化编程语言,在获得参数或数据库数组变量的值的同时,根据所述敏感信息的起止偏移量静态数组提取敏感信息值,并写入所述线程变量存储器。
  9. 根据权利要求1-8中任一项所述的方法,其特征在于,调用日志打印封装接口查询所述线程变量存储器,若日志消息中存在所述敏感信息值则对所述日志消息进行打码后安全输出,包括:
    依次查找日志消息中是否存在所述线程变量存储器中的敏感信息值,若存在,则对所述日志消息中对应于所述敏感信息值的输入参数数值进行打码处理,以输出新数值串;
    采用所述新数值串并调用标准开发库或第三方日志框架进行安全输出。
  10. 根据权利要求1-9中任一项所述的方法,其特征在于,还包括:
    当日志打印级别低于设定级别时,直接调用标准开发库或第三方日志框架进行输出。
  11. 一种应用日志打码输出装置,其特征在于,包括:
    接口定义与标记组件,用于针对数据输入接口进行接口定义,以标记敏感信息字段;
    标记变量提取组件,用于从数据输入接口提取所述标记的所述敏感信息字段对应的敏感信息值,并写入所述线程变量存储器;
    日志打印封装组件,用于当需要打印日志时,调用日志打印封装接口查询所述线程变量存储器,若待打印的日志消息中存在所述敏感信息值,则对所述日志消息进行打码后安全输出。
  12. 根据权利要求11所述的装置,其特征在于,还包括:
    线程变量管理组件,用于创建线程变量存储器以保存当前线程的敏感信息值列表。
  13. 根据权利要求11或12所述的装置,其特征在于,所述数据输入接口包括:服务接口和/或数据库接口。
  14. 根据权利要求12或13所述的装置,其特征在于,所述线程变量管理组件,还用于:
    在当前线程执行的请求处理完成之后,清除所述线程变量存储器中的当前线程的敏感信息值列表。
  15. 根据权利要求11-14中任一项所述的装置,其特征在于,所述接口定义与标记组件,还用于:
    针对JAVA的面向对象编程,在参数类和/或数据库操作的Java Bean类的所述敏感信息字段上添加敏感字段注解。
  16. 根据权利要求15所述的装置,其特征在于,所述标记变量提取组件,还用于:
    针对JAVA的面向对象编程,在应用中添加AOP切面,从而对输入的服务接口参数,将带有所述敏感字段注解的所述敏感信息字段的值存放到所述线程变量存储器,和/或,针对 数据库操作的Repository类的方法,对方法返回值中的实体Bean将带有所述敏感字段注解的所述敏感信息字段的值存放到所述线程变量存储器。
  17. 根据权利要求11-16中任一项所述的装置,其特征在于,所述接口定义与标记组件,还用于:
    针对C语言的结构化编程,定义最外层接口输入的参数结构体和/或数据库接口层宿主变量结构体,同时申明结构体中涉及敏感信息的起止偏移量静态数组。
  18. 根据权利要求17所述的装置,其特征在于,所述标记变量提取组件,还用于:
    针对C结构化编程语言,在获得参数或数据库数组变量的值的同时,根据所述敏感信息的起止偏移量静态数组提取敏感信息值,并写入所述线程变量存储器。
  19. 根据权利要求11-18中任一项所述的装置,其特征在于,所述日志打印封装组件,还用于:
    依次查找日志消息中是否存在所述线程变量存储器中的敏感信息值,若存在,则对所述日志消息中对应于所述敏感信息值的输入参数数值进行打码处理,以输出新数值串;
    采用所述新数值串并调用标准开发库或第三方日志框架进行安全输出。
  20. 根据权利要求11-19中任一项所述的装置,其特征在于,所述日志打印封装组件,还用于:
    当日志打印级别低于设定级别时,直接调用标准开发库或第三方日志框架进行输出。
  21. 一种应用日志打码输出装置,其特征在于,包括:
    至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:如权利要求1-10中任一项所述的方法。
  22. 一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被多核处理器执行时,使得所述多核处理器执行如权利要求1-10中任一项所述的方法。
PCT/CN2022/074660 2021-08-11 2022-01-28 一种应用日志的打码输出方法、装置及计算机可读存储介质 WO2023015852A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110918655.7 2021-08-11
CN202110918655.7A CN113704819B (zh) 2021-08-11 2021-08-11 一种应用日志的打码输出方法、装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
WO2023015852A1 true WO2023015852A1 (zh) 2023-02-16

Family

ID=78652295

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/074660 WO2023015852A1 (zh) 2021-08-11 2022-01-28 一种应用日志的打码输出方法、装置及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN113704819B (zh)
WO (1) WO2023015852A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704819B (zh) * 2021-08-11 2024-02-02 中国银联股份有限公司 一种应用日志的打码输出方法、装置及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414261A (zh) * 2019-06-26 2019-11-05 北京三快在线科技有限公司 一种数据脱敏方法、装置、设备及可读存储介质
CN111339559A (zh) * 2020-02-25 2020-06-26 北京同邦卓益科技有限公司 一种日志脱敏的数据处理方法及装置
CN111737746A (zh) * 2020-06-24 2020-10-02 四川长虹电器股份有限公司 一种基于java注解的动态配置数据脱敏的方法
CN113157659A (zh) * 2021-05-14 2021-07-23 中国建设银行股份有限公司 一种日志处理方法和装置
CN113221182A (zh) * 2021-06-10 2021-08-06 中国银行股份有限公司 银行日志脱敏方法及装置
CN113704819A (zh) * 2021-08-11 2021-11-26 中国银联股份有限公司 一种应用日志的打码输出方法、装置及计算机可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960944A (zh) * 2017-12-14 2019-07-02 中兴通讯股份有限公司 一种数据脱敏方法、服务器、终端及计算机可读存储介质
CN109726590A (zh) * 2018-12-24 2019-05-07 平安普惠企业管理有限公司 系统日志脱敏方法、脱敏系统、计算机设备及存储介质
US11151285B2 (en) * 2019-03-06 2021-10-19 International Business Machines Corporation Detecting sensitive data exposure via logging
CN110688662A (zh) * 2019-09-16 2020-01-14 威富通科技有限公司 一种敏感数据脱敏及逆脱敏方法、电子设备
CN112306431A (zh) * 2020-11-03 2021-02-02 平安普惠企业管理有限公司 日志信息打印方法、装置、设备及存储介质
CN112286706B (zh) * 2020-12-25 2021-05-18 北京邮电大学 安卓应用的应用信息远程快速获取方法及相关设备
CN112685777A (zh) * 2020-12-30 2021-04-20 平安普惠企业管理有限公司 信息脱敏的方法、装置、计算机设备及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414261A (zh) * 2019-06-26 2019-11-05 北京三快在线科技有限公司 一种数据脱敏方法、装置、设备及可读存储介质
CN111339559A (zh) * 2020-02-25 2020-06-26 北京同邦卓益科技有限公司 一种日志脱敏的数据处理方法及装置
CN111737746A (zh) * 2020-06-24 2020-10-02 四川长虹电器股份有限公司 一种基于java注解的动态配置数据脱敏的方法
CN113157659A (zh) * 2021-05-14 2021-07-23 中国建设银行股份有限公司 一种日志处理方法和装置
CN113221182A (zh) * 2021-06-10 2021-08-06 中国银行股份有限公司 银行日志脱敏方法及装置
CN113704819A (zh) * 2021-08-11 2021-11-26 中国银联股份有限公司 一种应用日志的打码输出方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN113704819B (zh) 2024-02-02
CN113704819A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
US11526531B2 (en) Dynamic field data translation to support high performance stream data processing
TWI730654B (zh) 部署和執行智能合約的方法及裝置
CN110688122B (zh) 编译和执行智能合约的方法及装置
CN114096956A (zh) 一种数据库操作层表示方法及装置
CN104360865A (zh) 一种序列化方法、反序列化方法及相关设备
CN110704064A (zh) 编译和执行智能合约的方法及装置
WO2023015852A1 (zh) 一种应用日志的打码输出方法、装置及计算机可读存储介质
CN113703862A (zh) 基于配置的接口调用方法、装置、设备及存储介质
CN101202736A (zh) 一种在通讯网络中实现编解码的方法
CN109324792B (zh) 一种基于编程语言的路由构建自动化方法及电子设备
CN111240772A (zh) 一种基于区块链的数据处理方法、装置及存储介质
CN111475150B (zh) 一种跨语言绑定方法、装置、设备及存储介质
CN116628066B (zh) 数据传输方法、装置、计算机设备和存储介质
US9405739B1 (en) Source code format for IDE code development with embedded objects
US8607201B2 (en) Augmenting visualization of a call stack
US9448975B2 (en) Character data processing method, information processing method, and information processing apparatus
CN107451050B (zh) 函数获取方法和装置、服务器
CN105868113B (zh) 字符串查找方法及装置
CN113485711A (zh) 基于依赖关系的任务触发方法、装置、电子设备及介质
CN111831288A (zh) 一种自动生成Thrift IDL数据结构及自动转换函数的方法及系统
CN112307474A (zh) 附加到字符串的污染信息的管理
CN116126429B (zh) 一种非数据类型对象的引用持久化及其恢复的方法
CN112202822B (zh) 数据库注入检测方法、装置、电子设备及存储介质
CN110968634B (zh) 大数据场景下基于xml描述实现利用可编程函数式进行etl转换处理的方法
CN114969099A (zh) 基于Java语言的SQL脚本生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22854857

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2401000794

Country of ref document: TH

NENP Non-entry into the national phase

Ref country code: DE