欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何在MySQL中应用SM4算法

最编程 2024-02-19 15:07:47
...
DELIMITER // CREATE FUNCTION sm4_encrypt(input_data VARBINARY(255)) RETURNS VARBINARY(255) DETERMINISTIC BEGIN DECLARE encrypted_data VARBINARY(255); SET @command = CONCAT('openssl enc -e -sm4-ecb -K "', @sm4_key, '"'); SET @input_file = '/tmp/input.txt'; SET @output_file = '/tmp/output.txt'; SELECT input_data INTO @input_data; SELECT HEX(input_data) INTO @hex_input_data; SET @command = CONCAT(@command, ' -in "', @input_file, '" -out "', @output_file, '"'); SET @input_file_handle = LOAD_FILE(@input_file); SET @output_file_handle = @input_data; IF @input_file_handle IS NULL THEN SELECT @hex_input_data INTO DUMPFILE @input_file; SET @input_file_handle = LOAD_FILE(@input_file); END IF; IF @input_file_handle IS NOT NULL THEN SET @output_file_handle = UNHEX(@input_file_handle) + 0; SET encrypted_data = @output_file_handle; SELECT HEX(encrypted_data) INTO @hex_encrypted_data; SET @command = CONCAT(@command, ' && rm "', @input_file, '" && rm "', @output_file, '"'); SELECT @command INTO @command; SELECT @hex_encrypted_data INTO @hex_encrypted_data; END IF; RETURN encrypted_data; END // DELIMITER ;

推荐阅读