Я думаю, что это не очень хорошая задача для регулярных выражений, я бы использовал словарь с разбивкой входной строки на строки заданной длины:
var length = 3;
var str = "zf3kabxcde224lkzf3mabxc51+crsdtzf3nab=";
var occurences = new Dictionary<string, int>();
for (int i = 0; i < str.Length - length + 1; i++)
{
var s = str.Substring(i, length);
if (occurences.ContainsKey(s))
occurences[s] += 1;
else
occurences.Add(s, 1);
}
Теперь вы можете проверить, сколько вхождений имеет любую строку длины 3, например .: occurences["zf3"]
равно 3.
Потоковая передача изображений через страницу ASPX является хорошим решением. Хотя Ссылающийся домен мог быть взломан.
То, что Вы могли сделать, использовать уникальную соль (ключевое слово) и генерировать против MD5 (SHA-1 или SHA-2), если Вы действительно обеспокоены безопасностью. Выполните текущее время эпохи также против этого также, это помещает истечение на изображения также. Сохраните этот "код клавиши" в cookie. Каждый раз, когда изображения вручены, Вы в основном передаете это через querystring. Проверка происходит на ASPX на другом конце. Вы могли даже повторно создать новый "код клавиши" между каждым запросом с помощью или HTTPRequestModule или страницы Global.asax.
Будут издержки, но они предотвратят любого от использования горячих ссылок.
Одна вещь я видел, что думал, была умна, состоит в том, чтобы добавить дополнительная часть к нижней части изображения и затем использовать метод спрайта CSS для отключения ее при показе на сайте. Наивная горячая ссылка приведет к отображению Вашей дополнительной части. Это будет означать, что изображение скашивается, таким образом, это не выглядит правильным на другом сайте, и можно использовать дополнительную часть для показа собственного URL или независимо от того, что Вы хотите.
Вы могли отказаться от любых запросов на изображения, которые не имеют Вашего сайта в поле заголовка ссылающегося домена HTTP. Это - теория. Для управления запросами в приложении необходимо было бы передать все изображения потоком через ASP-страницу (в противоположность соединению с ними непосредственно).