gpt4 book ai didi

c++ - 清理cpp中的密码字符串

转载 作者:行者123 更新时间:2023-11-30 05:04:24 25 4
gpt4 key购买 nike

我有一个字符串,

用户状态:

SELECT * FROM RUN_ON_HIVE(SERVER('10.23.40.23'),USERNAME('user'),PASSWORD('pass'),DBNAME('default'),QUERY('ANALYZE TABLE default.test01 COMPUTE STATISTICS'));

我正在尝试将密码子句转换为“****”。

String sanitizeduserstmt=userStmt;
boost::regex pw_re("PASSWORD\\('[^']*'\\)");
boost::regex_replace(sanitizeduserstmt, pw_re, "PASSWORD('****')");

但这不起作用。有人能告诉我哪里出错了吗?时间差

最佳答案

boost::regex_replace方法不会就地修改输入字符串,您需要将值分配回变量。

在你的情况下,修复看起来像

#include <boost/regex.hpp>
#include <iostream>
using namespace std;

int main() {
string sanitizeduserstmt="SELECT * FROM RUN_ON_HIVE(SERVER('10.23.40.23'),USERNAME('user'),PASSWORD('pass'),DBNAME('default'),QUERY('ANALYZE TABLE default.test01 COMPUTE STATISTICS'));";
boost::regex pw_re("PASSWORD\\('[^']*'\\)");
sanitizeduserstmt=boost::regex_replace(sanitizeduserstmt, pw_re, "PASSWORD('****')");
std::cout << "Result: " << sanitizeduserstmt << "\n";
// => Result: SELECT * FROM RUN_ON_HIVE(SERVER('10.23.40.23'),USERNAME('user'),PASSWORD('****'),DBNAME('default'),QUERY('ANALYZE TABLE default.test01 COMPUTE STATISTICS'));
}

参见 Coliru demo .

关于c++ - 清理cpp中的密码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48902390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com