Мое решение:
class Program
{
public static void Main()
{
byte[] pattern = new byte[] {12,3,5,76,8,0,6,125};
byte[] toBeSearched = new byte[] { 23, 36, 43, 76, 125, 56, 34, 234, 12, 3, 5, 76, 8, 0, 6, 125, 234, 56, 211, 122, 22, 4, 7, 89, 76, 64, 12, 3, 5, 76, 8, 0, 6, 125};
List<int> positions = SearchBytePattern(pattern, toBeSearched);
foreach (var item in positions)
{
Console.WriteLine("Pattern matched at pos {0}", item);
}
}
static public List<int> SearchBytePattern(byte[] pattern, byte[] bytes)
{
List<int> positions = new List<int>();
int patternLength = pattern.Length;
int totalLength = bytes.Length;
byte firstMatchByte = pattern[0];
for (int i = 0; i < totalLength; i++)
{
if (firstMatchByte == bytes[i] && totalLength - i >= patternLength)
{
byte[] match = new byte[patternLength];
Array.Copy(bytes, i, match, 0, patternLength);
if (match.SequenceEqual<byte>(pattern))
{
positions.Add(i);
i += patternLength - 1;
}
}
}
return positions;
}
}
Файл google-services.json
, из документа FireBase doc :
Firebase управляет всеми вашими настройками API и учетными данными через один файл конфигурации. Файл называется
google-services.json
на Android иGoogleService-Info.plist
на iOS.Кажется, имеет смысл добавить его в
.gitignore
и не включать в публичное репо. Это обсуждалось в issue 26 , с более подробной информацией о том, что содержитgoogle-services.json
.Проект, подобный
googlesamples/google-services
имеет в своем.gitignore
, например. Хотя комментировал stepheaw , этот поток упоминаетДля библиотеки или примера с открытым исходным кодом мы не включаем файл JSON, потому что намерение заключается в том, чтобы пользователи вставляли свои собственные, чтобы указать код на свой собственный бэкэнд. Вот почему вы не увидите файлы JSON в большинстве наших репозиториев firebase на GitHub.
Если «URL базы данных, ключ API Android и ведро хранения» не являются для вас секретами, вы можете подумать о добавлении файла в свое репо. Как упоминалось в « Безопасно ли от google-services.json от хакеров? », это не так просто.
Из этого обсуждения , кажется, вы можете добавить его в публичное репо. Его содержимое в любом случае попадает в APK и, вероятно, легко извлекается.
google-services.json
быть привязанным к исходному управлению в открытом репозитории с открытым исходным кодом i>. И в подавляющем большинстве случаев ответ определенно НЕТ - если владелец репо не хочет, чтобы весь мир использовал свою квоту API учетной записи Google по умолчанию. @ Ответ VonC.
– friederbluemle
29 October 2017 в 14:01