Homoglyphic 2.0.1
dotnet add package Homoglyphic --version 2.0.1
NuGet\Install-Package Homoglyphic -Version 2.0.1
<PackageReference Include="Homoglyphic" Version="2.0.1" />
paket add Homoglyphic --version 2.0.1
#r "nuget: Homoglyphic, 2.0.1"
// Install Homoglyphic as a Cake Addin #addin nuget:?package=Homoglyphic&version=2.0.1 // Install Homoglyphic as a Cake Tool #tool nuget:?package=Homoglyphic&version=2.0.1
<img src="https://github.com/AlanRVA/Homoglyphic/blob/master/logo.svg" height="75" align="left" />
Homoglyphic
<br/>
A .net Standard 2/C# library for working with homoglyphs (characters that look identical or similar but have different unicode values).
Homoglyphic makes it easy to find strings in a body of text which contains homoglyphs to bypass regular string matching. Useful for simplifying spam/phishing detection, content moderation and scrubbing text used for training ML models.
This project was inspired by Homoglyph and the list of homogylphys in this project can be found here
Installing
Install-Package Homoglyphic
Usage
Homoglyphic consists of two main classes, the HomoglyphicLoader and HomoglyphicSearch.
The HomoglyphicLoader accepts the file path to a CSV file of homoglyphic character sets and returns a list of hashsets representing a set of homoglyphs.
Once you have your list of homoglyphs, you can then use it to create an instance of the HomoglyphSearch class which has a single function: Search. The Search function will accept a string or list of strings and return a SearchResult ojbect for each occurance of a search string found in the string being searched.
var sets = HomoglyphLoader.LoadSets("homoglyphs.csv");
var search = new HomoglyphSearch(sets);
var result = search.Search("Th1s Is A Test", new List<string>() { "This", "Test" });
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Included homoglyph csv file. Updated package description.