1 /* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include "utils_log.h" 17 18 namespace OHOS { GetFileNameFromFullPath(const char * str)19std::string GetFileNameFromFullPath(const char *str) 20 { 21 std::string fullPath(str); 22 size_t pos = fullPath.find_last_of("/"); 23 return (pos == std::string::npos) ? std::string() : fullPath.substr(pos + 1); 24 } 25 GetAnonyString(const std::string & value)26std::string GetAnonyString(const std::string &value) 27 { 28 constexpr size_t INT32_SHORT_ID_LENGTH = 20; 29 constexpr size_t INT32_PLAINTEXT_LENGTH = 4; 30 constexpr size_t INT32_MIN_ID_LENGTH = 3; 31 std::string res; 32 std::string tmpStr("********"); 33 size_t strLen = value.length(); 34 if (strLen < INT32_MIN_ID_LENGTH) { 35 return tmpStr; 36 } 37 38 if (strLen <= INT32_SHORT_ID_LENGTH) { 39 res += value[0]; 40 res += tmpStr; 41 res += value[strLen - 1]; 42 } else { 43 res.append(value, 0, INT32_PLAINTEXT_LENGTH); 44 res += tmpStr; 45 res.append(value, INT32_PLAINTEXT_LENGTH + tmpStr.length(), strLen - INT32_PLAINTEXT_LENGTH - tmpStr.length()); 46 } 47 48 return res; 49 } 50 } // namespace OHOS 51