Batch salary issuing method and system for commercial bank
Through the collaborative work of the pre-system and business processing system, the batch payment and encryption processing of wages is automatically solved, and the problems of low efficiency and insufficient security of commercial banks' batch payment are achieved, and an efficient and safe wage payment process is achieved.
Patent Information
- Application Number
- CN202411038065.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-31
- Publication Date
- 2024-12-13
AI Technical Summary
Commercial banks have problems such as low efficiency, high risk of human error and insufficient data security in the process of mass payment of wages, resulting in high costs and limited business scalability.
Using pre-system analysis and encrypted salary batch dispatch instructions, automatically perform fund splitting and dispatch operations through the business processing system, and perform multiple encryption processing on the dispatch tasks and results, using RSA, E l Gama l, ChaCha20, AES -GCM, ECC and BLOWF I SH algorithms ensure data security.
It realizes the automation of mass payment of wages, avoids human errors, significantly improves efficiency and security, reduces costs, and ensures data integrity and privacy.
Smart Images

Figure CN119130337A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of financial technology, and in particular to a commercial bank batch salary payment method and system. Background Art
[0002] The batch payment of wages by commercial banks refers to the commercial banks accepting the payment commission, transferring the corresponding account of the entrusting party to the bank's payment funds, splitting the funds through the counter of the business outlets, and transferring them to different accounts of different personnel, for example, transferring the actual salary part to the personal account and the five insurances and one housing fund part to the public account, and then feedback on the payment results for verification and confirmation. That is, the traditional batch payment of wages needs to be manually operated by the staff at the counter of the business outlets, which has the following disadvantages:
[0003] 1. When faced with large amounts of funds and data, the manual operation process is complicated and time-consuming, which seriously affects the efficiency of salary payment; 2. Manual operation is prone to human errors such as fund splitting errors and mistransfer of funds, which increases financial risks; 3. Manual operation requires a lot of human resources, which not only increases the operating costs of commercial banks, but also limits the scalability of the business; 4. The relevant data is not encrypted, and there is a risk of data being stolen and tampered with in plain text.
[0004] Therefore, how to provide a commercial bank's batch salary payment method and system to improve the efficiency and security of batch salary payment and reduce the cost of batch salary payment has become a technical problem that needs to be solved urgently. Summary of the invention
[0005] The technical problem to be solved by the present invention is to provide a method and system for batch salary payment of commercial banks, so as to improve the efficiency and security of batch salary payment and reduce the cost of batch salary payment.
[0006] In a first aspect, the present invention provides a method for batch payment of wages by a commercial bank, comprising the following steps:
[0007] Step S1: The front-end system obtains a batch salary payment instruction, parses and verifies the batch salary payment instruction, and obtains a payment task;
[0008] Step S2: the front-end system encrypts the task to obtain an encrypted task, and sends the encrypted task to the business processing system;
[0009] Step S3: The business processing system creates a business batch table and a batch queue, stores the encryption task in the business batch table, and adds the encryption task to the batch queue;
[0010] Step S4: The business processing system sequentially selects encrypted tasks from the batch queue, decrypts the selected encrypted tasks to obtain agency tasks, and automatically splits funds based on the agency tasks to obtain split details;
[0011] Step S5: The business processing system automatically performs a batch salary payment operation based on the split details and generates a salary payment result;
[0012] Step S6: The business processing system encrypts the salary payment result to obtain an encrypted result, transmits the encrypted result back to the front-end system, and stores the encrypted result in the business batch table.
[0013] Furthermore, the step S1 is specifically as follows:
[0014] The front-end system obtains the batch salary payment instruction carrying ciphertext data, key, timestamp and hash value through a dedicated line. The hash value is obtained by hashing the ciphertext data, key and timestamp. The key is obtained by encrypting the public key through the RSA algorithm. The ciphertext data is obtained by encrypting the payment task through the private key. The public key and the private key are a pair of paired keys.
[0015] The front-end system parses the batch salary payment instruction to obtain ciphertext data, key, timestamp and hash value, performs integrity check through the hash value, performs timeliness check through the timestamp, and then decrypts the key through the RSA algorithm to obtain a public key, decrypts the ciphertext data through the public key, and obtains a payment task including at least a business category identifier, a total amount, a total amount, and payment details; the payment details at least include a payment account, a payment amount, and a payment note;
[0016] The front-end system is a communication channel between the business processing system and the outside world.
[0017] Furthermore, the step S2 is specifically as follows:
[0018] The front-end system encrypts the dispatch task by RSA algorithm to obtain first-level encrypted data, performs character mapping on the first-level encrypted data by preset mapping rules to obtain second-level encrypted data, divides the second-level encrypted data based on a preset division ratio and exchanges the order to obtain third-level encrypted data, encrypts the third-level encrypted data by El Gama l algorithm to obtain an encrypted task, and sends the encrypted task to the business processing system through a dedicated line;
[0019] In step S3, the business batch table is used to store encryption tasks and encryption results; the batch queue is used to sequentially execute batch salary payment operations.
[0020] Furthermore, the step S4 is specifically as follows:
[0021] The business processing system sequentially selects encryption tasks from the batch queue, decrypts the encryption tasks through the El Gama l algorithm to obtain third-level encrypted data, divides the third-level encrypted data based on the inverse of a preset division ratio and swaps the order to obtain second-level encrypted data, character-maps the second-level encrypted data through a preset mapping rule to obtain first-level encrypted data, decrypts the first-level encrypted data through the RSA algorithm to obtain an agency payment task that at least includes a business category identifier, a total amount, a total amount, and agency payment details, and automatically splits the funds based on the agency payment task to obtain the split details.
[0022] Furthermore, the step S6 is specifically as follows:
[0023] The business processing system performs MAC calculation on the salary payment result to obtain a MAC value, generates a random number as a seed of the symmetric key through the HKDF algorithm, generates a symmetric key through the ChaCha20 algorithm and the seed, encrypts the salary payment result through the ChaCha20 algorithm and the symmetric key to obtain an encrypted string, encapsulates the symmetric key through the AES-GCM algorithm, encrypts the encapsulated symmetric key through the ECC algorithm to obtain an encryption key, encrypts the encrypted string, encryption key and MAC value through the BLOWF I SH algorithm to obtain an encryption result, transmits the encryption result back to the front-end system through a dedicated line, stores the encryption result in the business batch table, and associates it with the corresponding encryption task.
[0024] In a second aspect, the present invention provides a commercial bank batch salary payment system, including the following modules:
[0025] The module for acquiring the batch salary payment instruction is used for the front-end system to acquire the batch salary payment instruction, parse and verify the batch salary payment instruction, and obtain the payment task;
[0026] The task encryption and sending module is used for the front-end system to encrypt the task to obtain an encrypted task, and send the encrypted task to the business processing system;
[0027] A batch queue creation module is used for the business processing system to create a business batch table and a batch queue, store the encryption task in the business batch table, and add the encryption task to the batch queue;
[0028] A fund splitting module is used for the business processing system to select encrypted tasks from the batch queue in sequence, decrypt the selected encrypted tasks to obtain agency tasks, and automatically split funds based on the agency tasks to obtain split details;
[0029] A salary batch payment module is used for the business processing system to automatically perform the salary batch payment operation based on the split details and generate the salary payment result;
[0030] The salary payment result management module is used for the business processing system to encrypt the salary payment result to obtain an encrypted result, return the encrypted result to the front-end system, and store the encrypted result in the business batch table.
[0031] Furthermore, the module for acquiring instructions for batch salary payment is specifically used for:
[0032] The front-end system obtains the batch salary payment instruction carrying ciphertext data, key, timestamp and hash value through a dedicated line. The hash value is obtained by hashing the ciphertext data, key and timestamp. The key is obtained by encrypting the public key through the RSA algorithm. The ciphertext data is obtained by encrypting the payment task through the private key. The public key and the private key are a pair of paired keys.
[0033] The front-end system parses the batch salary payment instruction to obtain ciphertext data, key, timestamp and hash value, performs integrity check through the hash value, performs timeliness check through the timestamp, and then decrypts the key through the RSA algorithm to obtain a public key, decrypts the ciphertext data through the public key, and obtains a payment task including at least a business category identifier, a total amount, a total amount, and payment details; the payment details at least include a payment account, a payment amount, and a payment note;
[0034] The front-end system is a communication channel between the business processing system and the outside world.
[0035] Furthermore, the task encryption sending module is specifically used for:
[0036] The front-end system encrypts the dispatch task by RSA algorithm to obtain first-level encrypted data, performs character mapping on the first-level encrypted data by preset mapping rules to obtain second-level encrypted data, divides the second-level encrypted data based on a preset division ratio and exchanges the order to obtain third-level encrypted data, encrypts the third-level encrypted data by El Gama l algorithm to obtain an encrypted task, and sends the encrypted task to the business processing system through a dedicated line;
[0037] In the batch queue creation module, the business batch table is used to store encryption tasks and encryption results; the batch queue is used to sequentially execute batch salary payment operations.
[0038] Furthermore, the fund splitting module is specifically used for:
[0039] The business processing system sequentially selects encryption tasks from the batch queue, decrypts the encryption tasks through the El Gama l algorithm to obtain third-level encrypted data, divides the third-level encrypted data based on the inverse of a preset division ratio and swaps the order to obtain second-level encrypted data, character-maps the second-level encrypted data through a preset mapping rule to obtain first-level encrypted data, decrypts the first-level encrypted data through the RSA algorithm to obtain an agency payment task that at least includes a business category identifier, a total amount, a total amount, and agency payment details, and automatically splits the funds based on the agency payment task to obtain the split details.
[0040] Furthermore, the salary payment result management module is specifically used for:
[0041] The business processing system performs MAC calculation on the salary payment result to obtain a MAC value, generates a random number as a seed of the symmetric key through the HKDF algorithm, generates a symmetric key through the ChaCha20 algorithm and the seed, encrypts the salary payment result through the ChaCha20 algorithm and the symmetric key to obtain an encrypted string, encapsulates the symmetric key through the AES-GCM algorithm, encrypts the encapsulated symmetric key through the ECC algorithm to obtain an encryption key, encrypts the encrypted string, encryption key and MAC value through the BLOWF I SH algorithm to obtain an encryption result, transmits the encryption result back to the front-end system through a dedicated line, stores the encryption result in the business batch table, and associates it with the corresponding encryption task.
[0042] The advantages of the present invention are:
[0043] 1. The front-end system parses and verifies the acquired batch salary payment instructions to obtain payment tasks, encrypts the payment tasks to obtain encrypted tasks and sends them to the business processing system; the business processing system creates a business batch table and a batch queue, stores the encrypted tasks in the business batch table, adds the encrypted tasks to the batch queue, selects the encrypted tasks from the batch queue in sequence, decrypts the selected encrypted tasks to obtain payment tasks, automatically splits the funds based on the payment tasks to obtain split details, then automatically executes the batch salary payment operation based on the split details to generate the salary payment results, encrypts the salary payment results to obtain encrypted results, transmits the encrypted results back to the front-end system and stores them in the business batch table; That is, the front-end system sends the salary payment task carried by the batch salary payment instruction to the business processing system to automatically execute fund splitting, and automatically executes the salary payment operation based on the split details obtained by the fund splitting. During the operation, the encrypted task obtained by encrypting the payment task and the encrypted result obtained by encrypting the salary payment result are automatically stored. The entire payment process is automatically executed without manual operation, avoiding human errors and saving labor costs. In addition, corresponding encryption measures are taken for the salary batch payment instructions, payment tasks, and salary payment results to prevent the relevant data from being stolen or tampered with in plain text, which ultimately greatly improves the efficiency and security of the salary batch payment and greatly reduces the cost of the salary batch payment.
[0044] 2. By setting the batch salary payment instructions to carry ciphertext data, keys, timestamps and hash values, the hash value is obtained by hashing the ciphertext data, keys and timestamps. The key is obtained by encrypting the public key through the RSA algorithm. The ciphertext data is obtained by encrypting the payment task with the private key. The public key and the private key are a pair of keys. The integrity can be checked through the hash value and the timeliness can be checked through the timestamp. The data encrypted by the private key can only be decrypted by the public key, and the public key is encrypted by the RSA algorithm. At least four security measures are taken before and after (public and private keys, timestamps, hash values, RSA algorithms) to prevent the plain text from being stolen or tampered with during the transmission of the payment task, and the legality of the batch salary payment instructions can be verified, which greatly improves the security of the batch salary payment.
[0045] 3. Encrypt the payment task through RSA algorithm to obtain the first-level encrypted data, perform character mapping on the first-level encrypted data through preset mapping rules to obtain the second-level encrypted data, divide the second-level encrypted data based on the preset division ratio and swap the order to obtain the third-level encrypted data, encrypt the third-level encrypted data through El Gama l algorithm to obtain the encrypted task, and send the encrypted task to the business processing system through a dedicated line. If the corresponding encryption algorithm or data transformation rule is not known, the encrypted task cannot be cracked. At least five security measures are taken before and after (RSA algorithm, mapping rule, division ratio, El Gama l algorithm, dedicated line), which greatly improves the security of the transmission of payment tasks, and thus greatly improves the security of batch salary payment.
[0046] 4. Perform MAC calculation on the salary payment result to obtain a MAC value, generate a random number as the seed of the symmetric key through the HKDF algorithm, generate a symmetric key through the ChaCha20 algorithm and the seed, encrypt the salary payment result through the ChaCha20 algorithm and the symmetric key to obtain an encrypted string, encapsulate the symmetric key through the AES-GCM algorithm, encrypt the encapsulated symmetric key through the ECC algorithm to obtain an encrypted key, encrypt the encrypted string, encryption key and MAC value through the BLOWF I SH algorithm to obtain an encrypted result, transmit the encrypted result back to the front-end system through a dedicated line, and store the encrypted result in the business batch table; MAC calculation is based on a hash function with a secret key, which is more secure than ordinary hash calculation. The symmetric key is generated based on the HKDF algorithm and the ChaCha20 algorithm to effectively enhance the complexity, and the symmetric key is encapsulated and multi-level encrypted to prevent plaintext leakage, and the salary payment result is also encrypted by the symmetric key and the BLOWF I SH algorithm. At least seven security measures are taken before and after (MAC calculation, HKDF algorithm, ChaCha20 algorithm, AES-GCM algorithm, ECC algorithm, BLOWF I SH algorithm, dedicated line), which greatly improves the security of transmission and storage of salary payment results, and thus greatly improves the security of batch salary payment.
[0047] 5. Security is further improved by adopting different encryption schemes for batch salary payment instructions, payment tasks, and salary payment results.
[0048] 6. Create a business batch table for storing encryption tasks and encryption results to facilitate later traceability. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] The present invention will be further described below in conjunction with embodiments with reference to the accompanying drawings.
[0050] Figure 1The present invention is a flow chart of a commercial bank's batch salary payment method.
[0051] Figure 2 The present invention is a structural schematic diagram of a commercial bank's batch salary payment system. DETAILED DESCRIPTION
[0052] The technical solution in the embodiments of the present application has the following overall idea: the front-end system sends the salary payment task carried by the batch salary payment instruction to the business processing system to automatically execute fund splitting, and automatically executes the salary payment operation based on the splitting details obtained by the fund splitting. During the operation, the encrypted task obtained by encrypting the payment task and the encrypted result obtained by encrypting the salary payment result are automatically stored. The entire payment process is automatically executed without manual operation, thus avoiding human errors and saving labor costs. In addition, corresponding encryption measures are taken for the salary payment instructions, payment tasks, and salary payment results to prevent the relevant data from being stolen or tampered with in plain text, so as to improve the efficiency and security of the salary payment batches and reduce the cost of the salary payment batches.
[0053] Please refer to Figure 1 to Figure 2 As shown, a preferred embodiment of a method for batch payment of wages by a commercial bank of the present invention comprises the following steps:
[0054] Step S1: The front-end system obtains a batch salary payment instruction, parses and verifies the batch salary payment instruction, and obtains a payment task;
[0055] Step S2: the front-end system encrypts the task to obtain an encrypted task, and sends the encrypted task to the business processing system;
[0056] Step S3: the business processing system creates a business batch table and a batch queue, stores the encryption task in the business batch table, and adds the encryption task to the batch queue; the business processing system is used to automatically execute the batch salary payment operation;
[0057] Step S4: The business processing system sequentially selects encrypted tasks from the batch queue, decrypts the selected encrypted tasks to obtain agency tasks, and automatically splits funds based on the agency tasks to obtain split details;
[0058] Step S5: The business processing system automatically performs a batch salary payment operation based on the split details and generates a salary payment result;
[0059] Step S6: The business processing system encrypts the salary payment result to obtain an encrypted result, transmits the encrypted result back to the front-end system, and stores the encrypted result in the business batch table.
[0060] The step S1 is specifically as follows:
[0061] The front-end system obtains the batch salary payment instruction carrying ciphertext data, key, timestamp and hash value through a dedicated line. The hash value is obtained by hashing the ciphertext data, key and timestamp. The key is obtained by encrypting the public key through the RSA algorithm. The ciphertext data is obtained by encrypting the payment task through the private key. The public key and the private key are a pair of paired keys.
[0062] By setting the batch salary payment instructions to carry ciphertext data, keys, timestamps and hash values, the hash value is obtained by hashing the ciphertext data, keys and timestamps. The key is obtained by encrypting the public key through the RSA algorithm. The ciphertext data is obtained by encrypting the payment task with the private key. The public key and private key are a paired pair of keys. The integrity can be verified through the hash value and the timeliness can be verified through the timestamp. The data encrypted by the private key can only be decrypted by the public key, and the public key is encrypted by the RSA algorithm. At least four security measures are taken before and after (public and private keys, timestamps, hash values, RSA algorithms) to prevent the plain text from being stolen or tampered with during the transmission of the payment task, and the legality of the batch salary payment instructions can be verified, which greatly improves the security of the batch salary payment.
[0063] The front-end system parses the batch salary payment instruction to obtain ciphertext data, key, timestamp and hash value, performs integrity check through the hash value, and then performs timeliness check through the timestamp, then decrypts the key through the RSA algorithm to obtain a public key, decrypts the ciphertext data through the public key, and obtains a payment task including at least a business category identifier, a total amount, a total amount, and payment details; the payment details at least include a payment account, a payment amount, and a payment note; in specific implementation, the payment details also include a name and an ID number;
[0064] The front-end system is a communication channel between the business processing system and the outside world.
[0065] The step S2 is specifically as follows:
[0066] The front-end system encrypts the dispatch task by RSA algorithm to obtain first-level encrypted data, performs character mapping on the first-level encrypted data by preset mapping rules to obtain second-level encrypted data, divides the second-level encrypted data based on a preset division ratio and exchanges the order to obtain third-level encrypted data, encrypts the third-level encrypted data by El Gama l algorithm to obtain an encrypted task, and sends the encrypted task to the business processing system through a dedicated line;
[0067] The payment task is encrypted by RSA algorithm to obtain the first-level encrypted data, the first-level encrypted data is character mapped by preset mapping rules to obtain the second-level encrypted data, the second-level encrypted data is segmented based on the preset segmentation ratio and the order is swapped to obtain the third-level encrypted data, the third-level encrypted data is encrypted by El Gama l algorithm to obtain the encrypted task, and the encrypted task is sent to the business processing system through a dedicated line. If the corresponding encryption algorithm or data transformation rule is not known, the encrypted task cannot be cracked. At least five security measures (RSA algorithm, mapping rule, segmentation ratio, El Gama l algorithm, dedicated line) are taken before and after, which greatly improves the security of the payment task transmission, and thus greatly improves the security of batch salary payment.
[0068] In step S3, the business batch table is used to store encryption tasks and encryption results; the batch queue is used to sequentially execute batch salary payment operations.
[0069] By creating a business batch table for storing encryption tasks and encryption results, it is easy to trace the source later; in specific implementation, the business batch table is also used to store the progress of the agency to support breakpoint resumption.
[0070] The step S4 is specifically as follows:
[0071] The business processing system sequentially selects encryption tasks from the batch queue, decrypts the encryption tasks through the El Gama l algorithm to obtain level 3 encryption data, divides the level 3 encryption data based on the inverse of the preset division ratio and swaps the order to obtain level 2 encryption data, character maps the level 2 encryption data through the preset mapping rule to obtain level 1 encryption data, decrypts the level 1 encryption data through the RSA algorithm to obtain a payment task including at least a business category identifier, a total amount, a total amount, and payment details, and automatically splits the funds based on the payment task to obtain split details. The split details include at least a payment account, a payment amount, a payment note, a name, and an ID number, and the payment account includes a personal collection account for receiving actual wages and a public account for receiving five insurances and one housing fund.
[0072] The step S6 is specifically as follows:
[0073] The business processing system performs MAC calculation on the salary payment result to obtain a MAC value, generates a random number as a seed of the symmetric key through the HKDF algorithm, generates a symmetric key through the ChaCha20 algorithm and the seed, encrypts the salary payment result through the ChaCha20 algorithm and the symmetric key to obtain an encrypted string, encapsulates the symmetric key through the AES-GCM algorithm, encrypts the encapsulated symmetric key through the ECC algorithm to obtain an encryption key, encrypts the encrypted string, encryption key and MAC value through the BLOWF I SH algorithm to obtain an encryption result, transmits the encryption result back to the front-end system through a dedicated line, stores the encryption result in the business batch table, and associates it with the corresponding encryption task, which is equivalent to recording the flow of funds.
[0074] MAC value is obtained by performing MAC calculation on the salary payment result, a random number is generated as the seed of the symmetric key through the HKDF algorithm, a symmetric key is generated through the ChaCha20 algorithm and the seed, the salary payment result is encrypted through the ChaCha20 algorithm and the symmetric key to obtain an encrypted string, the symmetric key is encapsulated through the AES-GCM algorithm, the encapsulated symmetric key is encrypted through the ECC algorithm to obtain an encryption key, the encrypted string, the encryption key and the MAC value are encrypted through the BLOWF I SH algorithm to obtain an encryption result, the encryption result is transmitted back to the front-end system through a dedicated line, and the encryption result is stored in the business batch table; MAC calculation is based on a hash function with a secret key, which is more secure than ordinary hash calculation. The symmetric key is generated based on the HKDF algorithm and the ChaCha20 algorithm to effectively enhance the complexity, and the symmetric key is encapsulated and multi-level encrypted to prevent plaintext leakage, and the salary payment result is also encrypted by the symmetric key and the BLOWF I SH algorithm. At least seven security measures are taken before and after (MAC calculation, HKDF algorithm, ChaCha20 algorithm, AES-GCM algorithm, ECC algorithm, BLOWF I SH algorithm, dedicated line), which greatly improves the security of transmission and storage of salary payment results, and thus greatly improves the security of batch salary payment.
[0075] Security is further improved by adopting different encryption schemes for batch salary payment instructions, payment tasks, and salary payment results.
[0076] A preferred embodiment of a commercial bank's batch salary payment system of the present invention includes the following modules:
[0077] The module for acquiring the batch salary payment instruction is used for the front-end system to acquire the batch salary payment instruction, parse and verify the batch salary payment instruction, and obtain the payment task;
[0078] The task encryption and sending module is used for the front-end system to encrypt the task to obtain an encrypted task, and send the encrypted task to the business processing system;
[0079] The batch queue creation module is used for the business processing system to create a business batch table and a batch queue, store the encryption task in the business batch table, and add the encryption task to the batch queue; the business processing system is used to automatically execute the batch salary payment operation;
[0080] A fund splitting module is used for the business processing system to select encrypted tasks from the batch queue in sequence, decrypt the selected encrypted tasks to obtain agency tasks, and automatically split funds based on the agency tasks to obtain split details;
[0081] A salary batch payment module is used for the business processing system to automatically perform the salary batch payment operation based on the split details and generate the salary payment result;
[0082] The salary payment result management module is used for the business processing system to encrypt the salary payment result to obtain an encrypted result, return the encrypted result to the front-end system, and store the encrypted result in the business batch table.
[0083] The module for acquiring the batch salary payment instructions is specifically used for:
[0084] The front-end system obtains the batch salary payment instruction carrying ciphertext data, key, timestamp and hash value through a dedicated line. The hash value is obtained by hashing the ciphertext data, key and timestamp. The key is obtained by encrypting the public key through the RSA algorithm. The ciphertext data is obtained by encrypting the payment task through the private key. The public key and the private key are a pair of paired keys.
[0085] By setting the batch salary payment instructions to carry ciphertext data, keys, timestamps and hash values, the hash value is obtained by hashing the ciphertext data, keys and timestamps. The key is obtained by encrypting the public key through the RSA algorithm. The ciphertext data is obtained by encrypting the payment task with the private key. The public key and private key are a paired pair of keys. The integrity can be verified through the hash value and the timeliness can be verified through the timestamp. The data encrypted by the private key can only be decrypted by the public key, and the public key is encrypted by the RSA algorithm. At least four security measures are taken before and after (public and private keys, timestamps, hash values, RSA algorithms) to prevent the plain text from being stolen or tampered with during the transmission of the payment task, and the legality of the batch salary payment instructions can be verified, which greatly improves the security of the batch salary payment.
[0086] The front-end system parses the batch salary payment instruction to obtain ciphertext data, key, timestamp and hash value, performs integrity check through the hash value, and then performs timeliness check through the timestamp, then decrypts the key through the RSA algorithm to obtain a public key, decrypts the ciphertext data through the public key, and obtains a payment task including at least a business category identifier, a total amount, a total amount, and payment details; the payment details at least include a payment account, a payment amount, and a payment note; in specific implementation, the payment details also include a name and an ID number;
[0087] The front-end system is a communication channel between the business processing system and the outside world.
[0088] The task encryption sending module is specifically used for:
[0089] The front-end system encrypts the dispatch task by RSA algorithm to obtain first-level encrypted data, performs character mapping on the first-level encrypted data by preset mapping rules to obtain second-level encrypted data, divides the second-level encrypted data based on a preset division ratio and exchanges the order to obtain third-level encrypted data, encrypts the third-level encrypted data by El Gama l algorithm to obtain an encrypted task, and sends the encrypted task to the business processing system through a dedicated line;
[0090] The payment task is encrypted by RSA algorithm to obtain the first-level encrypted data, the first-level encrypted data is character mapped by preset mapping rules to obtain the second-level encrypted data, the second-level encrypted data is segmented based on the preset segmentation ratio and the order is swapped to obtain the third-level encrypted data, the third-level encrypted data is encrypted by El Gama l algorithm to obtain the encrypted task, and the encrypted task is sent to the business processing system through a dedicated line. If the corresponding encryption algorithm or data transformation rule is not known, the encrypted task cannot be cracked. At least five security measures (RSA algorithm, mapping rule, segmentation ratio, El Gama l algorithm, dedicated line) are taken before and after, which greatly improves the security of the payment task transmission, and thus greatly improves the security of batch salary payment.
[0091] In the batch queue creation module, the business batch table is used to store encryption tasks and encryption results; the batch queue is used to sequentially execute batch salary payment operations.
[0092] By creating a business batch table for storing encryption tasks and encryption results, it is easy to trace the source later; in specific implementation, the business batch table is also used to store the progress of the agency to support breakpoint continuation.
[0093] The fund splitting module is specifically used for:
[0094] The business processing system sequentially selects encryption tasks from the batch queue, decrypts the encryption tasks through the El Gama l algorithm to obtain level 3 encryption data, divides the level 3 encryption data based on the inverse of the preset division ratio and swaps the order to obtain level 2 encryption data, character maps the level 2 encryption data through the preset mapping rule to obtain level 1 encryption data, decrypts the level 1 encryption data through the RSA algorithm to obtain a payment task including at least a business category identifier, a total amount, a total amount, and payment details, and automatically splits the funds based on the payment task to obtain split details. The split details include at least a payment account, a payment amount, a payment note, a name, and an ID number, and the payment account includes a personal collection account for receiving actual wages and a public account for receiving five insurances and one housing fund.
[0095] The salary payment result management module is specifically used for:
[0096] The business processing system performs MAC calculation on the salary payment result to obtain a MAC value, generates a random number as a seed of the symmetric key through the HKDF algorithm, generates a symmetric key through the ChaCha20 algorithm and the seed, encrypts the salary payment result through the ChaCha20 algorithm and the symmetric key to obtain an encrypted string, encapsulates the symmetric key through the AES-GCM algorithm, encrypts the encapsulated symmetric key through the ECC algorithm to obtain an encryption key, encrypts the encrypted string, encryption key and MAC value through the BLOWF I SH algorithm to obtain an encryption result, transmits the encryption result back to the front-end system through a dedicated line, stores the encryption result in the business batch table, and associates it with the corresponding encryption task, which is equivalent to recording the flow of funds.
[0097] MAC value is obtained by performing MAC calculation on the salary payment result, a random number is generated as the seed of the symmetric key through the HKDF algorithm, a symmetric key is generated through the ChaCha20 algorithm and the seed, the salary payment result is encrypted through the ChaCha20 algorithm and the symmetric key to obtain an encrypted string, the symmetric key is encapsulated through the AES-GCM algorithm, the encapsulated symmetric key is encrypted through the ECC algorithm to obtain an encryption key, the encrypted string, the encryption key and the MAC value are encrypted through the BLOWF I SH algorithm to obtain an encryption result, the encryption result is transmitted back to the front-end system through a dedicated line, and the encryption result is stored in the business batch table; MAC calculation is based on a hash function with a secret key, which is more secure than ordinary hash calculation. The symmetric key is generated based on the HKDF algorithm and the ChaCha20 algorithm to effectively enhance the complexity, and the symmetric key is encapsulated and multi-level encrypted to prevent plaintext leakage, and the salary payment result is also encrypted by the symmetric key and the BLOWF I SH algorithm. At least seven security measures are taken before and after (MAC calculation, HKDF algorithm, ChaCha20 algorithm, AES-GCM algorithm, ECC algorithm, BLOWF I SH algorithm, dedicated line), which greatly improves the security of transmission and storage of salary payment results, and thus greatly improves the security of batch salary payment.
[0098] Security is further improved by adopting different encryption schemes for batch salary payment instructions, payment tasks, and salary payment results.
[0099] In summary, the advantages of the present invention are:
[0100] 1. The front-end system parses and verifies the acquired batch salary payment instructions to obtain payment tasks, encrypts the payment tasks to obtain encrypted tasks and sends them to the business processing system; the business processing system creates a business batch table and a batch queue, stores the encrypted tasks in the business batch table, adds the encrypted tasks to the batch queue, selects the encrypted tasks from the batch queue in sequence, decrypts the selected encrypted tasks to obtain payment tasks, automatically splits the funds based on the payment tasks to obtain split details, then automatically executes the batch salary payment operation based on the split details to generate the salary payment results, encrypts the salary payment results to obtain encrypted results, transmits the encrypted results back to the front-end system and stores them in the business batch table; That is, the front-end system sends the salary payment task carried by the batch salary payment instruction to the business processing system to automatically execute fund splitting, and automatically executes the salary payment operation based on the split details obtained by the fund splitting. During the operation, the encrypted task obtained by encrypting the payment task and the encrypted result obtained by encrypting the salary payment result are automatically stored. The entire payment process is automatically executed without manual operation, avoiding human errors and saving labor costs. In addition, corresponding encryption measures are taken for the salary batch payment instructions, payment tasks, and salary payment results to prevent the relevant data from being stolen or tampered with in plain text, which ultimately greatly improves the efficiency and security of the salary batch payment and greatly reduces the cost of the salary batch payment.
[0101] 2. By setting the batch salary payment instructions to carry ciphertext data, keys, timestamps and hash values, the hash value is obtained by hashing the ciphertext data, keys and timestamps. The key is obtained by encrypting the public key through the RSA algorithm. The ciphertext data is obtained by encrypting the payment task with the private key. The public key and the private key are a pair of keys. The integrity can be checked through the hash value and the timeliness can be checked through the timestamp. The data encrypted by the private key can only be decrypted by the public key, and the public key is encrypted by the RSA algorithm. At least four security measures are taken before and after (public and private keys, timestamps, hash values, RSA algorithms) to prevent the plain text from being stolen or tampered with during the transmission of the payment task, and the legality of the batch salary payment instructions can be verified, which greatly improves the security of the batch salary payment.
[0102] 3. Encrypt the payment task through RSA algorithm to obtain the first-level encrypted data, perform character mapping on the first-level encrypted data through preset mapping rules to obtain the second-level encrypted data, divide the second-level encrypted data based on the preset division ratio and swap the order to obtain the third-level encrypted data, encrypt the third-level encrypted data through El Gama l algorithm to obtain the encrypted task, and send the encrypted task to the business processing system through a dedicated line. If the corresponding encryption algorithm or data transformation rule is not known, the encrypted task cannot be cracked. At least five security measures are taken before and after (RSA algorithm, mapping rule, division ratio, El Gama l algorithm, dedicated line), which greatly improves the security of the transmission of payment tasks, and thus greatly improves the security of batch salary payment.
[0103] 4. Perform MAC calculation on the salary payment result to obtain a MAC value, generate a random number as the seed of the symmetric key through the HKDF algorithm, generate a symmetric key through the ChaCha20 algorithm and the seed, encrypt the salary payment result through the ChaCha20 algorithm and the symmetric key to obtain an encrypted string, encapsulate the symmetric key through the AES-GCM algorithm, encrypt the encapsulated symmetric key through the ECC algorithm to obtain an encrypted key, encrypt the encrypted string, encryption key and MAC value through the BLOWF I SH algorithm to obtain an encrypted result, transmit the encrypted result back to the front-end system through a dedicated line, and store the encrypted result in the business batch table; MAC calculation is based on a hash function with a secret key, which is more secure than ordinary hash calculation. The symmetric key is generated based on the HKDF algorithm and the ChaCha20 algorithm to effectively enhance the complexity, and the symmetric key is encapsulated and multi-level encrypted to prevent plaintext leakage, and the salary payment result is also encrypted by the symmetric key and the BLOWF I SH algorithm. At least seven security measures are taken before and after (MAC calculation, HKDF algorithm, ChaCha20 algorithm, AES-GCM algorithm, ECC algorithm, BLOWF I SH algorithm, dedicated line), which greatly improves the security of transmission and storage of salary payment results, and thus greatly improves the security of batch salary payment.
[0104] 5. Security is further improved by adopting different encryption schemes for batch salary payment instructions, payment tasks, and salary payment results.
[0105] 6. Create a business batch table for storing encryption tasks and encryption results to facilitate later traceability.
[0106] Although the specific implementation modes of the present invention are described above, those skilled in the art should understand that the specific implementation modes described are only illustrative and are not intended to limit the scope of the present invention. Equivalent modifications and changes made by those skilled in the art in accordance with the spirit of the present invention should be included in the scope of protection of the claims of the present invention.
Claims
1. A method for batch payment of wages by a commercial bank, characterized by: The steps include: Step S1: The front-end system obtains a batch salary payment instruction, parses and verifies the batch salary payment instruction, and obtains a payment task; Step S2: the front-end system encrypts the task to obtain an encrypted task, and sends the encrypted task to the business processing system; Step S3: The business processing system creates a business batch table and a batch queue, stores the encryption task in the business batch table, and adds the encryption task to the batch queue; Step S4: The business processing system sequentially selects encrypted tasks from the batch queue, decrypts the selected encrypted tasks to obtain agency tasks, and automatically splits funds based on the agency tasks to obtain split details; Step S5: The business processing system automatically performs a batch salary payment operation based on the split details and generates a salary payment result; Step S6: The business processing system encrypts the salary payment result to obtain an encrypted result, transmits the encrypted result back to the front-end system, and stores the encrypted result in the business batch table.
2. A method for batch payment of wages by a commercial bank as claimed in claim 1, characterized in that: The step S1 is specifically as follows: The front-end system obtains the batch salary payment instruction carrying ciphertext data, key, timestamp and hash value through a dedicated line. The hash value is obtained by hashing the ciphertext data, key and timestamp. The key is obtained by encrypting the public key through the RSA algorithm. The ciphertext data is obtained by encrypting the payment task through the private key. The public key and the private key are a pair of paired keys. The front-end system parses the batch salary payment instruction to obtain ciphertext data, key, timestamp and hash value, performs integrity check through the hash value, performs timeliness check through the timestamp, and then decrypts the key through the RSA algorithm to obtain a public key, decrypts the ciphertext data through the public key, and obtains a payment task including at least a business category identifier, a total amount, a total amount, and payment details; The payment details at least include the payment account, payment amount and payment remarks; The front-end system is a communication channel between the business processing system and the outside world.
3. A method for batch payment of wages by a commercial bank as claimed in claim 1, characterized in that: The step S2 is specifically as follows: The front-end system encrypts the dispatch task by RSA algorithm to obtain first-level encrypted data, performs character mapping on the first-level encrypted data by preset mapping rules to obtain second-level encrypted data, divides the second-level encrypted data based on a preset division ratio and exchanges the order to obtain third-level encrypted data, encrypts the third-level encrypted data by ElGamal algorithm to obtain an encrypted task, and sends the encrypted task to the business processing system through a dedicated line; In step S3, the business batch table is used to store encryption tasks and encryption results; the batch queue is used to sequentially execute batch salary payment operations.
4. A method for batch payment of wages by a commercial bank as claimed in claim 1, characterized in that: The step S4 is specifically as follows: The business processing system sequentially selects encryption tasks from the batch queue, decrypts the encryption tasks through the ElGamal algorithm to obtain level-three encrypted data, divides the level-three encrypted data based on the inverse of a preset division ratio and swaps the order to obtain level-two encrypted data, character-maps the level-two encrypted data through a preset mapping rule to obtain level-one encrypted data, decrypts the level-one encrypted data through the RSA algorithm to obtain a payment task including at least a business category identifier, a total amount, a total amount, and payment details, and automatically splits the funds based on the payment task to obtain split details.
5. A method for batch payment of wages by a commercial bank as claimed in claim 1, characterized in that: The step S6 is specifically as follows: The business processing system performs MAC calculation on the salary payment result to obtain a MAC value, generates a random number as a seed of the symmetric key through the HKDF algorithm, generates a symmetric key through the ChaCha20 algorithm and the seed, encrypts the salary payment result through the ChaCha20 algorithm and the symmetric key to obtain an encrypted string, encapsulates the symmetric key through the AES-GCM algorithm, encrypts the encapsulated symmetric key through the ECC algorithm to obtain an encryption key, encrypts the encrypted string, encryption key and MAC value through the BLOWFISH algorithm to obtain an encryption result, transmits the encryption result back to the front-end system through a dedicated line, stores the encryption result in the business batch table, and associates it with the corresponding encryption task.
6. A commercial bank batch salary payment system, characterized by: Includes the following modules: The module for acquiring the batch salary payment instruction is used for the front-end system to acquire the batch salary payment instruction, parse and verify the batch salary payment instruction, and obtain the payment task; The task encryption and sending module is used for the front-end system to encrypt the task to obtain an encrypted task, and send the encrypted task to the business processing system; A batch queue creation module is used for the business processing system to create a business batch table and a batch queue, store the encryption task in the business batch table, and add the encryption task to the batch queue; A fund splitting module is used for the business processing system to select encrypted tasks from the batch queue in sequence, decrypt the selected encrypted tasks to obtain agency tasks, and automatically split funds based on the agency tasks to obtain split details; A salary batch payment module is used for the business processing system to automatically perform the salary batch payment operation based on the split details and generate the salary payment result; The salary payment result management module is used for the business processing system to encrypt the salary payment result to obtain an encrypted result, return the encrypted result to the front-end system, and store the encrypted result in the business batch table.
7. A commercial bank batch salary payment system as claimed in claim 6, characterized in that: The module for acquiring batch salary payment instructions is specifically used for: The front-end system obtains the batch salary payment instruction carrying ciphertext data, key, timestamp and hash value through a dedicated line. The hash value is obtained by hashing the ciphertext data, key and timestamp. The key is obtained by encrypting the public key through the RSA algorithm. The ciphertext data is obtained by encrypting the payment task through the private key. The public key and the private key are a pair of paired keys. The front-end system parses the batch salary payment instruction to obtain ciphertext data, key, timestamp and hash value, performs integrity check through the hash value, performs timeliness check through the timestamp, and then decrypts the key through the RSA algorithm to obtain a public key, decrypts the ciphertext data through the public key, and obtains a payment task including at least a business category identifier, a total amount, a total amount, and payment details; The payment details at least include the payment account, payment amount and payment remarks; The front-end system is a communication channel between the business processing system and the outside world.
8. A commercial bank salary batch payment system as claimed in claim 6, characterized in that: The task encryption sending module is specifically used for: The front-end system encrypts the dispatch task by RSA algorithm to obtain first-level encrypted data, performs character mapping on the first-level encrypted data by preset mapping rules to obtain second-level encrypted data, divides the second-level encrypted data based on a preset division ratio and exchanges the order to obtain third-level encrypted data, encrypts the third-level encrypted data by ElGamal algorithm to obtain an encrypted task, and sends the encrypted task to the business processing system through a dedicated line; In the batch queue creation module, the business batch table is used to store encryption tasks and encryption results; the batch queue is used to sequentially execute batch salary payment operations.
9. A commercial bank salary batch payment system as claimed in claim 6, characterized in that: The fund splitting module is specifically used for: The business processing system sequentially selects encryption tasks from the batch queue, decrypts the encryption tasks through the ElGamal algorithm to obtain level-three encrypted data, divides the level-three encrypted data based on the inverse of a preset division ratio and swaps the order to obtain level-two encrypted data, character-maps the level-two encrypted data through a preset mapping rule to obtain level-one encrypted data, decrypts the level-one encrypted data through the RSA algorithm to obtain a payment task including at least a business category identifier, a total amount, a total amount, and payment details, and automatically splits the funds based on the payment task to obtain split details.
10. A commercial bank batch salary payment system as claimed in claim 6, characterized in that: The salary payment result management module is specifically used for: The business processing system performs MAC calculation on the salary payment result to obtain a MAC value, generates a random number as a seed of the symmetric key through the HKDF algorithm, generates a symmetric key through the ChaCha20 algorithm and the seed, encrypts the salary payment result through the ChaCha20 algorithm and the symmetric key to obtain an encrypted string, encapsulates the symmetric key through the AES-GCM algorithm, encrypts the encapsulated symmetric key through the ECC algorithm to obtain an encryption key, encrypts the encrypted string, encryption key and MAC value through the BLOWFISH algorithm to obtain an encryption result, transmits the encryption result back to the front-end system through a dedicated line, stores the encryption result in the business batch table, and associates it with the corresponding encryption task.
