[c++] 문자열에서 숫자를 마스킹하는 방법

보안을 강화하거나 사용자의 민감한 정보를 숨기기 위해 때로는 문자열에서 숫자를 마스킹해야 할 수 있습니다. C++를 사용하여 문자열에서 숫자를 마스킹하는 방법에 대해 알아보겠습니다.

1. 숫자를 마스킹하는 함수 작성

#include <iostream>
#include <string>

std::string maskNumbers(const std::string& input) {
    std::string output = input;
    for (size_t i = 0; i < output.size(); ++i) {
        if (std::isdigit(output[i])) {
            output[i] = '*';
        }
    }
    return output;
}

int main() {
    std::string input = "Sensitive data: 1234567890";
    std::string masked = maskNumbers(input);
    std::cout << masked << std::endl;
    return 0;
}

2. 함수 설명

위의 예제 코드에서 maskNumbers 함수는 입력된 문자열에서 숫자를 마스킹하는 역할을 합니다. isdigit 함수를 사용하여 각 문자가 숫자인지를 확인하고, 숫자인 경우에는 *으로 대체됩니다. 이후 마스킹된 문자열이 반환됩니다.

3. 결과

위의 코드를 실행하면 “Sensitive data: ****” 와 같이 문자열에서 숫자가 마스킹된 결과를 얻을 수 있습니다.

이와 같은 방법으로 C++를 사용하여 문자열에서 숫자를 마스킹할 수 있습니다. 이것은 개인정보나 기타 민감한 정보를 처리하는 시스템에서 유용하게 활용될 수 있습니다.

참고 자료

cppreference.com - isdigit