1 /* 2 * Copyright (c) 2024 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 #include "wifi_direct_anonymous.h" 16 #include "anonymizer.h" 17 #include "wifi_direct_utils.h" 18 19 namespace OHOS::SoftBus { WifiDirectAnonymizeMac(const std::string & mac)20std::string WifiDirectAnonymizeMac(const std::string &mac) 21 { 22 return WifiDirectAnonymize(mac); 23 } 24 WifiDirectAnonymizeMac(const std::vector<uint8_t> & mac)25std::string WifiDirectAnonymizeMac(const std::vector<uint8_t> &mac) 26 { 27 return WifiDirectAnonymizeMac(WifiDirectUtils::MacArrayToString(mac)); 28 } 29 WifiDirectAnonymizeIp(const std::string & ip)30std::string WifiDirectAnonymizeIp(const std::string &ip) 31 { 32 return WifiDirectAnonymize(ip); 33 } 34 WifiDirectAnonymizeDeviceId(const std::string & deviceId)35std::string WifiDirectAnonymizeDeviceId(const std::string &deviceId) 36 { 37 return WifiDirectAnonymize(deviceId); 38 } 39 WifiDirectAnonymizeSsid(const std::string & ssid)40std::string WifiDirectAnonymizeSsid(const std::string &ssid) 41 { 42 return WifiDirectAnonymize(ssid); 43 } 44 WifiDirectAnonymizePsk(const std::string & psk)45std::string WifiDirectAnonymizePsk(const std::string &psk) 46 { 47 return WifiDirectAnonymize(psk); 48 } 49 WifiDirectAnonymizePtk(const std::string & ptk)50std::string WifiDirectAnonymizePtk(const std::string &ptk) 51 { 52 return WifiDirectAnonymize(ptk); 53 } 54 WifiDirectAnonymizeData(const std::string & data)55std::string WifiDirectAnonymizeData(const std::string &data) 56 { 57 return WifiDirectAnonymize(data); 58 } 59 WifiDirectAnonymize(const std::string & data)60std::string WifiDirectAnonymize(const std::string &data) 61 { 62 if (data.empty()) { 63 return ""; 64 } 65 char *temp = nullptr; 66 Anonymize(data.c_str(), &temp); 67 std::string result = AnonymizeWrapper(temp); 68 AnonymizeFree(temp); 69 return result; 70 } 71 } // namespace OHOS::SoftBus 72