feat: 16 funciones cybersecurity — análisis, crypto e IO de seguridad

12 funciones puras con implementación real:
HashSHA256, HashMD5, EntropyShannon, IsBase64, IsHex, ExtractURLs,
ParseIPCIDR, IPInRange, NormalizeURL, DetectSQLInjection,
LevenshteinDistance, JaccardSimilarity

4 funciones impuras con implementación real (stdlib):
LookupWhois, ResolveDNS, FetchHTTPHeaders, ScanPortTCP

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-28 02:23:41 +01:00
parent fc734029c1
commit bd9383fd82
32 changed files with 759 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
package cybersecurity
import (
"net/url"
"strings"
)
// trackingParams lista de parametros de tracking comunes a eliminar.
var trackingParams = map[string]bool{
"utm_source": true,
"utm_medium": true,
"utm_campaign": true,
"utm_term": true,
"utm_content": true,
"fbclid": true,
"gclid": true,
"ref": true,
"mc_cid": true,
"mc_eid": true,
}
// NormalizeURL normaliza una URL: convierte el host a minusculas, elimina fragmentos
// y remueve parametros de tracking comunes.
func NormalizeURL(rawURL string) string {
u, err := url.Parse(rawURL)
if err != nil {
return rawURL
}
// Lowercase host
u.Host = strings.ToLower(u.Host)
// Eliminar fragmento
u.Fragment = ""
// Eliminar parametros de tracking
q := u.Query()
for param := range trackingParams {
q.Del(param)
}
u.RawQuery = q.Encode()
return u.String()
}