[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M77KJYA4GYNHT40ADTRASFGT":3,"skill-same:01M77KJYA4GYNHT40ADTRASFGT":58},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":40,"ownerHtmlUrl":41,"ownerBlogUrl":6,"ownerDescription":42,"updatedAt":43,"install":44,"resources":57},"01M77KJYA4GYNHT40ADTRASFGT","crypto-encoder",null,"编码工具�?- Base64编码\u002F解码、URL编码\u002F解码、SHA256\u002FMD5哈希计算、UUID生成、JWT解析","Lord1Egypt\u002Fawesome-skill-forge","Lord1Egypt","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F99746359?v=4","01M7592YDNT0XK9WJ0T2MQVPDN","Mohamed Mounir Ali AL Keshita","01M75GRFNHC8VZNWEB8DKDE433",3,"MIT","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fcommunity\u002Fclawhub\u002Fl\u002Flaosi-crypto-encoder\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nbadge: premium\nname: crypto-encoder\nversion: 2.0.0\ndescription: 编码工具�?- Base64编码\u002F解码、URL编码\u002F解码、SHA256\u002FMD5哈希计算、UUID生成、JWT解析\ntags: [crypto, encoding, base64, hash, uuid, security]\nauthor: laosi\nsource: original\n---\n\n# Crypto Encoder - 编码工具�?\n> 激活词: 编码 \u002F base64 \u002F 哈希 \u002F hash \u002F uuid\n\n## 功能\n\n- Base64 编码\u002F解码\n- URL 编码\u002F解码\n- SHA256\u002FSHA512\u002FMD5 哈希\n- HMAC 签名\n- UUID v4 生成\n- JWT Token 解析\n- 密码强度检�?\n## Python 实现\n\n```python\nimport base64, hashlib, hmac, uuid, json, re\nfrom datetime import datetime\nfrom typing import Dict, Optional\n\nclass CryptoEncoder:\n    def __init__(self):\n        self.history: list = []\n    \n    def base64_encode(self, text: str) -> str:\n        \"\"\"Base64编码\"\"\"\n        result = base64.b64encode(text.encode(\"utf-8\")).decode(\"ascii\")\n        self._log(\"base64_encode\", text, result)\n        return result\n    \n    def base64_decode(self, encoded: str) -> str:\n        \"\"\"Base64解码\"\"\"\n        result = base64.b64decode(encoded.encode(\"ascii\")).decode(\"utf-8\")\n        self._log(\"base64_decode\", encoded, result)\n        return result\n    \n    def url_encode(self, text: str) -> str:\n        \"\"\"URL编码\"\"\"\n        from urllib.parse import quote\n        result = quote(text, safe=\"\")\n        self._log(\"url_encode\", text, result)\n        return result\n    \n    def url_decode(self, encoded: str) -> str:\n        \"\"\"URL解码\"\"\"\n        from urllib.parse import unquote\n        result = unquote(encoded)\n        self._log(\"url_decode\", encoded, result)\n        return result\n    \n    def sha256(self, text: str) -> str:\n        \"\"\"SHA256哈希\"\"\"\n        result = hashlib.sha256(text.encode(\"utf-8\")).hexdigest()\n        self._log(\"sha256\", text, result)\n        return result\n    \n    def sha512(self, text: str) -> str:\n        \"\"\"SHA512哈希\"\"\"\n        return hashlib.sha512(text.encode(\"utf-8\")).hexdigest()\n    \n    def md5(self, text: str) -> str:\n        \"\"\"MD5哈希\"\"\"\n        return hashlib.md5(text.encode(\"utf-8\")).hexdigest()\n    \n    def hmac_sha256(self, message: str, key: str) -> str:\n        \"\"\"HMAC-SHA256签名\"\"\"\n        return hmac.new(\n            key.encode(\"utf-8\"),\n            message.encode(\"utf-8\"),\n            hashlib.sha256\n        ).hexdigest()\n    \n    def generate_uuid(self) -> str:\n        \"\"\"生成UUID v4\"\"\"\n        return str(uuid.uuid4())\n    \n    def parse_jwt(self, token: str) -> dict:\n        \"\"\"解析JWT Token（不验证签名�?\"\"\n        parts = token.split(\".\")\n        if len(parts) != 3:\n            return {\"error\": \"Invalid JWT format\"}\n        \n        try:\n            header = json.loads(base64.urlsafe_b64decode(parts[0] + \"==\"))\n            payload = json.loads(base64.urlsafe_b64decode(parts[1] + \"==\"))\n            return {\n                \"header\": header,\n                \"payload\": payload,\n                \"signature\": parts[2][:20] + \"...\",\n            }\n        except Exception as e:\n            return {\"error\": str(e)}\n    \n    def password_strength(self, password: str) -> dict:\n        \"\"\"密码强度检�?\"\"\n        score = 0\n        checks = {\n            \"length\": len(password) >= 8,\n            \"uppercase\": bool(re.search(r\"[A-Z]\", password)),\n            \"lowercase\": bool(re.search(r\"[a-z]\", password)),\n            \"digits\": bool(re.search(r\"\\d\", password)),\n            \"special\": bool(re.search(r\"[!@#$%^&*(),.?\\\":{}|\u003C>]\", password)),\n        }\n        score = sum(checks.values())\n        \n        if score \u003C= 2:\n            strength = \"weak\"\n        elif score \u003C= 3:\n            strength = \"fair\"\n        elif score \u003C= 4:\n            strength = \"good\"\n        else:\n            strength = \"strong\"\n        \n        return {\n            \"score\": score,\n            \"max_score\": 5,\n            \"strength\": strength,\n            \"checks\": checks,\n        }\n    \n    def _log(self, operation: str, input_val: str, output_val: str):\n        self.history.append({\n            \"operation\": operation,\n            \"input\": input_val[:50],\n            \"output\": output_val[:50],\n            \"timestamp\": datetime.now().isoformat()\n        })\n    \n    def batch_encode(self, text: str) -> Dict[str, str]:\n        \"\"\"批量编码\"\"\"\n        return {\n            \"original\": text,\n            \"base64\": self.base64_encode(text),\n            \"url\": self.url_encode(text),\n            \"sha256\": self.sha256(text),\n            \"md5\": self.md5(text),\n            \"uuid\": self.generate_uuid(),\n        }\n\n# 使用示例\ncrypto = CryptoEncoder()\n\n# Base64\nencoded = crypto.base64_encode(\"Hello, 世界!\")\ndecoded = crypto.base64_decode(encoded)\nprint(f\"Base64: {encoded}\")\nprint(f\"解码: {decoded}\")\n\n# URL编码\nurl_enc = crypto.url_encode(\"https:\u002F\u002Fexample.com\u002Fpath?q=你好&lang=�?)\nprint(f\"URL编码: {url_enc}\")\n\n# 哈希\nprint(f\"SHA256: {crypto.sha256('password123')}\")\nprint(f\"MD5: {crypto.md5('Hello')}\")\n\n# HMAC\nprint(f\"HMAC: {crypto.hmac_sha256('message', 'secret-key')}\")\n\n# UUID\nprint(f\"UUID: {crypto.generate_uuid()}\")\n\n# JWT解析\njwt_token = \"eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiYWxpY2UiLCJleHAiOjE3MDkxMjM0NTZ9.signature\"\nparsed = crypto.parse_jwt(jwt_token)\nprint(f\"JWT Header: {parsed.get('header')}\")\nprint(f\"JWT Payload: {parsed.get('payload')}\")\n\n# 密码强度\nstrength = crypto.password_strength(\"MyP@ssw0rd!\")\nprint(f\"密码强度: {strength['strength']} ({strength['score']}\u002F{strength['max_score']})\")\n\n# 批量编码\nbatch = crypto.batch_encode(\"OpenCode 2026\")\nprint(f\"\\n批量编码:\")\nfor k, v in batch.items():\n    print(f\"  {k}: {v[:40]}\")\n```\n\n## 编码对照\n\n| 输入 | Base64 | SHA256 (�?�? | MD5 |\n|------|--------|---------------|-----|\n| `hello` | `aGVsbG8=` | `2cf24dba` | `5d41402a` |\n| `12345` | `MTIzNDU=` | `8d969eef` | `827ccb0e` |\n\n## 使用场景\n\n1. **API认证**: Base64编码Basic Auth、Bearer Token\n2. **数据完整�?*: SHA256校验文件哈希\n3. **密码存储**: MD5\u002FSHA256哈希（加盐）\n4. **Token处理**: 解析JWT、生成API密钥\n5. **Web开�?*: URL编码参数、CSRF Token生成\n\n## 依赖\n\n- Python 3.8+\n- 标准库（base64, hashlib, hmac, uuid, json�?","# Crypto Encoder - 编码工具�?\n> 激活词: 编码 \u002F base64 \u002F 哈希 \u002F hash \u002F uuid\n\n## 功能\n\n- Base64 编码\u002F解码\n- URL 编码\u002F解码\n- SHA256\u002FSHA512\u002FMD5 哈希\n- HMAC 签名\n- UUID v4 生成\n- JWT Token 解析\n- 密码强度检�?\n## Python 实现\n\n```python\nimport base64, hashlib, hmac, uuid, json, re\nfrom datetime import datetime\nfrom typing import Dict, Optional\n\nclass CryptoEncoder:\n    def __init__(self):\n        self.history: list = []\n    \n    def base64_encode(self, text: str) -> str:\n        \"\"\"Base64编码\"\"\"\n        result = base64.b64encode(text.encode(\"utf-8\")).decode(\"ascii\")\n        self._log(\"base64_encode\", text, result)\n        return result\n    \n    def base64_decode(self, encoded: str) -> str:\n        \"\"\"Base64解码\"\"\"\n        result = base64.b64decode(encoded.encode(\"ascii\")).decode(\"utf-8\")\n        self._log(\"base64_decode\", encoded, result)\n        return result\n    \n    def url_encode(self, text: str) -> str:\n        \"\"\"URL编码\"\"\"\n        from urllib.parse import quote\n        result = quote(text, safe=\"\")\n        self._log(\"url_encode\", text, result)\n        return result\n    \n    def url_decode(self, encoded: str) -> str:\n        \"\"\"URL解码\"\"\"\n        from urllib.parse import unquote\n        result = unquote(encoded)\n        self._log(\"url_decode\", encoded, result)\n        return result\n    \n    def sha256(self, text: str) -> str:\n        \"\"\"SHA256哈希\"\"\"\n        result = hashlib.sha256(text.encode(\"utf-8\")).hexdigest()\n        self._log(\"sha256\", text, result)\n        return result\n    \n    def sha512(self, text: str) -> str:\n        \"\"\"SHA512哈希\"\"\"\n        return hashlib.sha512(text.encode(\"utf-8\")).hexdigest()\n    \n    def md5(self, text: str) -> str:\n        \"\"\"MD5哈希\"\"\"\n        return hashlib.md5(text.encode(\"utf-8\")).hexdigest()\n    \n    def hmac_sha256(self, message: str, key: str) -> str:\n        \"\"\"HMAC-SHA256签名\"\"\"\n        return hmac.new(\n            key.encode(\"utf-8\"),\n            message.encode(\"utf-8\"),\n            hashlib.sha256\n        ).hexdigest()\n    \n    def generate_uuid(self) -> str:\n        \"\"\"生成UUID v4\"\"\"\n        return str(uuid.uuid4())\n    \n    def parse_jwt(self, token: str) -> dict:\n        \"\"\"解析JWT Token（不验证签名�?\"\"\n        parts = token.split(\".\")\n        if len(parts) != 3:\n            return {\"error\": \"Invalid JWT format\"}\n        \n        try:\n            header = json.loads(base64.urlsafe_b64decode(parts[0] + \"==\"))\n            payload = json.loads(base64.urlsafe_b64decode(parts[1] + \"==\"))\n            return {\n                \"header\": header,\n                \"payload\": payload,\n                \"signature\": parts[2][:20] + \"...\",\n            }\n        except Exception as e:\n            return {\"error\": str(e)}\n    \n    def password_strength(self, password: str) -> dict:\n        \"\"\"密码强度检�?\"\"\n        score = 0\n        checks = {\n            \"length\": len(password) >= 8,\n            \"uppercase\": bool(re.search(r\"[A-Z]\", password)),\n            \"lowercase\": bool(re.search(r\"[a-z]\", password)),\n            \"digits\": bool(re.search(r\"\\d\", password)),\n            \"special\": bool(re.search(r\"[!@#$%^&*(),.?\\\":{}|\u003C>]\", password)),\n        }\n        score = sum(checks.values())\n        \n        if score \u003C= 2:\n            strength = \"weak\"\n        elif score \u003C= 3:\n            strength = \"fair\"\n        elif score \u003C= 4:\n            strength = \"good\"\n        else:\n            strength = \"strong\"\n        \n        return {\n            \"score\": score,\n            \"max_score\": 5,\n            \"strength\": strength,\n            \"checks\": checks,\n        }\n    \n    def _log(self, operation: str, input_val: str, output_val: str):\n        self.history.append({\n            \"operation\": operation,\n            \"input\": input_val[:50],\n            \"output\": output_val[:50],\n            \"timestamp\": datetime.now().isoformat()\n        })\n    \n    def batch_encode(self, text: str) -> Dict[str, str]:\n        \"\"\"批量编码\"\"\"\n        return {\n            \"original\": text,\n            \"base64\": self.base64_encode(text),\n            \"url\": self.url_encode(text),\n            \"sha256\": self.sha256(text),\n            \"md5\": self.md5(text),\n            \"uuid\": self.generate_uuid(),\n        }\n\n# 使用示例\ncrypto = CryptoEncoder()\n\n# Base64\nencoded = crypto.base64_encode(\"Hello, 世界!\")\ndecoded = crypto.base64_decode(encoded)\nprint(f\"Base64: {encoded}\")\nprint(f\"解码: {decoded}\")\n\n# URL编码\nurl_enc = crypto.url_encode(\"https:\u002F\u002Fexample.com\u002Fpath?q=你好&lang=�?)\nprint(f\"URL编码: {url_enc}\")\n\n# 哈希\nprint(f\"SHA256: {crypto.sha256('password123')}\")\nprint(f\"MD5: {crypto.md5('Hello')}\")\n\n# HMAC\nprint(f\"HMAC: {crypto.hmac_sha256('message', 'secret-key')}\")\n\n# UUID\nprint(f\"UUID: {crypto.generate_uuid()}\")\n\n# JWT解析\njwt_token = \"eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiYWxpY2UiLCJleHAiOjE3MDkxMjM0NTZ9.signature\"\nparsed = crypto.parse_jwt(jwt_token)\nprint(f\"JWT Header: {parsed.get('header')}\")\nprint(f\"JWT Payload: {parsed.get('payload')}\")\n\n# 密码强度\nstrength = crypto.password_strength(\"MyP@ssw0rd!\")\nprint(f\"密码强度: {strength['strength']} ({strength['score']}\u002F{strength['max_score']})\")\n\n# 批量编码\nbatch = crypto.batch_encode(\"OpenCode 2026\")\nprint(f\"\\n批量编码:\")\nfor k, v in batch.items():\n    print(f\"  {k}: {v[:40]}\")\n```\n\n## 编码对照\n\n| 输入 | Base64 | SHA256 (�?�? | MD5 |\n|------|--------|---------------|-----|\n| `hello` | `aGVsbG8=` | `2cf24dba` | `5d41402a` |\n| `12345` | `MTIzNDU=` | `8d969eef` | `827ccb0e` |\n\n## 使用场景\n\n1. **API认证**: Base64编码Basic Auth、Bearer Token\n2. **数据完整�?*: SHA256校验文件哈希\n3. **密码存储**: MD5\u002FSHA256哈希（加盐）\n4. **Token处理**: 解析JWT、生成API密钥\n5. **Web开�?*: URL编码参数、CSRF Token生成\n\n## 依赖\n\n- Python 3.8+\n- 标准库（base64, hashlib, hmac, uuid, json�?",{"name":5,"tags":24,"badge":31,"author":32,"source":33,"version":34,"description":7},[25,26,27,28,29,30],"crypto","encoding","base64","hash","uuid","security","premium","laosi","original","2.0.0","master","4aa004da461d820f4ea5499e58eb8d196cf99016","community\u002Fclawhub\u002Fl\u002Flaosi-crypto-encoder",0,"https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge","https:\u002F\u002Fskill-explorer-rho.vercel.app","https:\u002F\u002Fgithub.com\u002FLord1Egypt","Unbreakable. Unstoppable. Unmatched⚡.\r\n Speaker of machine tongues 🤖  | World-builder of decentralized dreams 🌐 | Defender of the digital realm🛡️.","2026-06-10 08:21:01",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add Lord1Egypt\u002Fawesome-skill-forge --skill crypto-encoder",{"tool":50,"command":51},"bunx","bunx skills add Lord1Egypt\u002Fawesome-skill-forge --skill crypto-encoder",{"tool":53,"command":54},"pnpm","pnpm dlx skills add Lord1Egypt\u002Fawesome-skill-forge --skill crypto-encoder","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fcommunity\u002Fclawhub\u002Fl\u002Flaosi-crypto-encoder\u002FSKILL.md",true,[],[59,66,73,80,87,94],{"skillNo":60,"name":61,"nameZh":6,"description":62,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":19},"01M785WKJB99G3STR1NF9NRTJW","youtube-content","YouTube transcripts to summaries, threads, blogs.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fyoutube-content\u002FSKILL.md",[],[],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":19},"01M785WEFHB0G2S9YA6EPR3H0E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fxurl\u002FSKILL.md",[],[],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":19},"01M785W98EDN4EFJXJPMQEHCRC","touchdesigner-mcp","Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-time visuals. 36 native tools.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Ftouchdesigner-mcp\u002FSKILL.md",[],[],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":19},"01M785W5S9FP3QBH2V191E025P","test-driven-development","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",[],[],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":19},"01M785W2AS08NSSH9YATCV6FJB","teams-meeting-pipeline","Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fteams-meeting-pipeline\u002FSKILL.md",[],[],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":19},"01M785VXKW4T34BTP1SCHW1R7F","systematic-debugging","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002FLord1Egypt\u002Fawesome-skill-forge\u002Fblob\u002Fmaster\u002Fskills\u002Fsystematic-debugging\u002FSKILL.md",[],[]]