{"id":31809918,"url":"https://github.com/fckveza/cryptoutil","last_synced_at":"2026-01-11T21:04:35.005Z","repository":{"id":205285851,"uuid":"713872294","full_name":"fckveza/Cryptoutil","owner":"fckveza","description":"Cryptoutil","archived":false,"fork":false,"pushed_at":"2025-10-06T07:42:00.000Z","size":15,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T09:39:56.945Z","etag":null,"topics":["aes-encryption","aes-gcm","bytecode","cryptography","encryption-decryption","hashing"],"latest_commit_sha":null,"homepage":"https://vhtear.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fckveza.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-03T12:17:07.000Z","updated_at":"2025-10-06T07:43:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"2ab38dfa-2d98-45dc-8384-5949c4bc7c52","html_url":"https://github.com/fckveza/Cryptoutil","commit_stats":null,"previous_names":["fckveza/vhtearcryptoutil","fckveza/cryptoutil"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fckveza/Cryptoutil","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fckveza%2FCryptoutil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fckveza%2FCryptoutil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fckveza%2FCryptoutil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fckveza%2FCryptoutil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fckveza","download_url":"https://codeload.github.com/fckveza/Cryptoutil/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fckveza%2FCryptoutil/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006353,"owners_count":26084088,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes-encryption","aes-gcm","bytecode","cryptography","encryption-decryption","hashing"],"created_at":"2025-10-11T05:55:18.427Z","updated_at":"2025-10-11T05:55:20.230Z","avatar_url":"https://github.com/fckveza.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cryptoutil\n\nCryptoutil is a Go (Golang) toolkit that provides various cryptographic and data manipulation functions. This package is designed to assist developers in implementing cryptography, encryption, decryption, and data manipulation easily and efficiently.\n\nWith Cryptoutil, you can quickly integrate powerful cryptographic functions into your projects and efficiently manipulate data. This package is suitable for the development of applications that require data security, such as financial applications, sensitive data processing, and many others.\n\n## Key Features\n\n- AES-GCM encryption and decryption functions.\n- Calculation of checksums and data transformation using hashing.\n- Data processing in byte and hexadecimal formats.\n- And many other features.\n\n## Installation\n\nYou can easily install this package using the following command:\n\n```shell\ngo get github.com/fckveza/Cryptoutil\n```\n\n#### Extended usage\n\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"github.com/fckveza/Cryptoutil\"\n)\n\nfunc main() {\n\t// Example of using GetSHA256Sum\n\tsha256Sum := Cryptoutil.GetSHA256Sum(\"Hello, World!\")\n\tfmt.Printf(\"SHA-256 Sum: %x\\n\", sha256Sum)\n\n\t// Example of using GenerateSharedSecret\n\tprivateKey := []byte(\"private_key\")\n\tpublicKey := []byte(\"public_key\")\n\tsharedSecret, err := Cryptoutil.GenerateSharedSecret(privateKey, publicKey)\n\tif err != nil {\n\t\tfmt.Println(\"Error:\", err)\n\t} else {\n\t\tfmt.Printf(\"Shared Secret: %x\\n\", sharedSecret)\n\t}\n\n\t// Example of using GenerateAAD\n\taad := Cryptoutil.GenerateAAD(\"example\", \"data\", 42, 13, 7, 99)\n\tfmt.Printf(\"AAD: %x\\n\", aad)\n\n\t// Example of using DecryptWithAESGCM\n\tgcmKey := []byte(\"secret_key\")\n\tnonce := []byte(\"unique_nonce\")\n\tciphertext := []byte(\"encrypted_data\")\n\tmessage, err := Cryptoutil.DecryptWithAESGCM(gcmKey, nonce, ciphertext, aad)\n\tif err != nil {\n\t\tfmt.Println(\"Error:\", err)\n\t} else {\n\t\tfmt.Printf(\"Decrypted Message: %s\\n\", message)\n\t}\n\n\t// Example of using EncryptWithAESGCM\n\tdataToEncrypt := []byte(\"sensitive_data\")\n\tciphertext, err := Cryptoutil.EncryptWithAESGCM(dataToEncrypt, gcmKey, nonce, aad)\n\tif err is not nil {\n\t\tfmt.Println(\"Error:\", err)\n\t} else {\n\t\tfmt.Printf(\"Encrypted Data: %x\\n\", ciphertext)\n\t}\n\n\t// Example of using EncHeaders\n\theaders := map[string]string{\n\t\t\"Content-Type\": \"application/json\",\n\t\t\"Authorization\": \"Bearer token\",\n\t}\n\tencodedHeaders := Cryptoutil.EncHeaders(headers)\n\tfmt.Printf(\"Encoded Headers: %x\\n\", encodedHeaders)\n\n\t// Example of using Pad\n\tdataToPad := []byte(\"data_to_pad\")\n\tpaddedData := Cryptoutil.Pad(dataToPad, 16)\n\tfmt.Printf(\"Padded Data: %x\\n\", paddedData)\n\n\t// Example of using Unpad\n\tunpaddedData, err := Cryptoutil.Unpad(paddedData)\n\tif err != nil {\n\t\tfmt.Println(\"Error:\", err)\n\t} else {\n\t\tfmt.Printf(\"Unpadded Data: %x\\n\", unpaddedData)\n\t}\n\n\t// Example of using CalculateChecksumAndTransform\n\tkey := []byte(\"encryption_key\")\n\tdataToTransform := []byte(\"data_to_transform\")\n\ttransformedData := Cryptoutil.CalculateChecksumAndTransform(key, dataToTransform)\n\tfmt.Printf(\"Transformed Data: %x\\n\", transformedData)\n\n\t// Example of using ParseHexToSlice\n\thexString := \"48656c6c6f2c20576f726c6421\"\n\thexData := Cryptoutil.ParseHexToSlice(hexString)\n\tfmt.Printf(\"Hex Data: %x\\n\", hexData)\n\n\t// Example of using Xor\n\tdataToXor := []byte(\"data_to_xor\")\n\txoredData := Cryptoutil.Xor(dataToXor)\n\tfmt.Printf(\"Xored Data: %x\\n\", xoredData)\n\n\t// Example of using CombineBytesToResult\n\tdataToCombine := []byte{0x12, 0x34}\n\tresult := Cryptoutil.CombineBytesToResult(dataToCombine, 0)\n\tfmt printf(\"Combined Result: %x\\n\", result)\n\n\t// Example of using AccessAndTransformElement\n\tdataToAccess := []byte{0xFF, 0x80}\n\telement := Cryptoutil.AccessAndTransformElement(dataToAccess, 0)\n\tfmt.Printf(\"Accessed and Transformed Element: %x\\n\", element)\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffckveza%2Fcryptoutil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffckveza%2Fcryptoutil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffckveza%2Fcryptoutil/lists"}