- 0
C#+Asp.net Wrong Password Encryption.
-
Posts
-
You might also take https://github.com/vercel-labs/agent-skills into consideration
-
Greetings, everyone. I am sharing a configuration designed for any code editor/console with AI agents. This setup allows for expanded context and highly specific skills depending on your project requirements. It also comes with reusable skills ready for immediate use. Current configuration covers: WEB, L2j server datapacks, and L2j dev (including skills for handling decompiled Java datapacks, etc.). I have left a LINK to the original video on which this specific configuration is based. It also contains brief guides on how to implement new skills. You can simply ask your AI agent to review the guide to get started. https://github.com/zambo420/Supercharge-your-AI-assistant-for-WEB-and-L2-DATAPACKS-dev.-.git # 🤖 AI Skills Starter Kit - Forum Quick Start > **Supercharge your AI assistant (Claude, Gemini, Copilot)** ## ⚡ Installation in 2 Minutes ### 1. Download and copy Copy the `Supercharge-your-AI-assistant-for-WEB-and-L2-DATAPACKS-dev.-/` folder to your project root. ### 2. Rename and structure ``` your-project/ ├── skills/ # Rename skills_reutilizables → skills │ ├── skill-creator/ │ ├── react-19/ # Copy the ones you need │ ├── typescript/ │ └── setup.ps1 # Copy from templates/ ├── AGENTS.md # Copy from templates/AGENTS.md.template └── src/ # Your code ``` ### 3. Edit AGENTS.md Customize with your skills: ```markdown ## Available Skills | Skill | Description | File | |-------|-------------|------| | `react-19` | React 19 patterns | [SKILL.md](skills/react-19/SKILL.md) | ## Auto-invoke Skills | Action | Skill | |--------|-------| | Working with React components | `react-19` | ``` ### 4. Sync ```powershell .\skills\setup.ps1 ``` ### 5. Done! Restart your AI assistant and start working. --- ## 📦 Included Skills (56 Total) ### Frontend - `react-19` - React 19, hooks, RSC - `typescript` - TypeScript patterns - `tailwind-4` - TailwindCSS v4 - `vite` - Build configuration - `zustand-5` - State management - `nextjs-15` - Next.js 15 - `i18next` - Internationalization - `react-router` - React Router v7 ### Backend - `zod-4` - Validation schemas - `ioredis` - Redis caching - `jwt` - JWT authentication - `django-drf` - Django REST Framework ### Testing & AI - `playwright` - E2E testing - `pytest` - Python testing - `ai-sdk-5` - Vercel AI SDK ### Utilities - `skill-creator` - Create new skills - `java-ant-build` - Apache Ant build system - `jira-epic` - Create Jira epics - `jira-task` - Create Jira tasks ### L2J/Game Server (33 skills) - `gameserver-data` - XMLs, multisells, spawns, NPCs - `gameserver-config` - Server configuration files - `authserver-config` - Login server configuration - `client-files` - Client textures, L2Text, system - `lucera2-core` - L2J core patterns, base classes - `lucera2-handlers` - Admin/user commands, bypass - `lucera2-services` - Community Board, ACP, Buffer - `lucera2-scripts` - Quests, NPCs, bosses, events - `lucera2-network` - Network packets - `lucera2-geodata` - Pathfinding, line of sight - `lucera2-ai` - NPC AI, monster behavior - `lucera2-zones` - Zone scripts, restrictions - `lucera2-achievements` - Achievement system - `lucera2-phantoms` - Fake players (bots) - `lucera2-data` - XML/SQL parsers, holders - `lucera2-authserver` - Login server Java code - `lucera2-olympiad` - Olympiad, heroes, nobles - `lucera2-residences` - Castles, clan halls, siege - `lucera2-skills-effects` - Skill effects, conditions - `lucera2-telegram` - Telegram bot integration - `lucera2-events-pvp` - TvT, GvG, CTF events - `lucera2-seasonal-events` - Holiday events - `lucera2-npc-instances` - Custom NPC types - `lucera2-items-inventory` - Items, inventory - `lucera2-clans-alliances` - Clans, wars - `lucera2-voting-ranking` - Voting rewards - `lucera2-siege-duel` - Siege, duel mechanics - `lucera2-pets-summons` - Pets, servitors - `lucera2-promo-rewards` - Promo codes, daily rewards - `lucera2-item-handlers` - Item handlers - `lucera2-instances-dungeons` - Instance dungeons - `lucera2-minigames` - Lottery, Fishing - `lucera2-autofarm` - AutoFarm bot system - `lucera2-party-matching` - Party finder - `lucera2-cursed-weapons` - Zariche, Akamanah - `lucera2-vip-premium` - VIP/premium accounts - `lucera2-extjar-projects` - Creating .ext.jar projects --- ## 🎯 The Magic Trick The **Auto-invoke** table is the key: ```markdown ## Auto-invoke Skills | Action | Skill | |--------|-------| | Creating React components | `react-19` | | Adding TypeScript types | `typescript` | | Writing E2E tests | `playwright` | ``` **Without this table, AI ignores skills.** With it, they load automatically. --- ## 📁 Important Files | File | Purpose | |------|---------| | `AGENTS.md` | Main agent configuration | | `skills/setup.ps1` | Syncs to .claude/.gemini/.github | | `skills/*/SKILL.md` | Each skill definition | --- ## 💡 Tips 1. **One place only**: Keep all skills in `skills/` 2. **Auto-invoke**: Without this table, it won't work 3. **setup.ps1**: Run after every change 4. **Restart**: AI needs restart to load changes --- ## 🔧 Create Your Own Skill ```markdown --- name: my-skill description: My skill description --- ## When to Use - When to use this skill ## Key Patterns - Important patterns ## Code Examples \`\`\`typescript // Code example \`\`\` ``` Add to AGENTS.md and run `.\skills\setup.ps1`. --- ## 🤝 Compatibility - ✅ Claude Code (Antigravity) - ✅ Gemini CLI - ✅ GitHub Copilot - ✅ Cursor - ✅ Any AI that supports AGENTS.md --- ## 📚 More Info See `README.md` on github for complete guide and detailed documentation.
-
-
Topics

Question
renobizarro
I'm working on a Player Control Panel for their accounts, it should let players register accounts, change password and recover password.
everything was working good, but when i tried encription it went wrong, it works with some passwords but with others it doesn't, I'm using this script to encrypt passwords, shared by Simple2008
http://www.maxcheaters.com/topic/106006-sharec-l2off-password-encryption/
the thing is that this script does work with some passwords and not with all passwords players uses.
for example:
root -> 0xB1BE70E9A83F19192CB593935EC4E2E2 --> my encription
root -> 0xB1BE70E9A83F19192CB593935EC4E2E2 --> l2pass.exe
cafecafe150 -> 0x31F7E38C3108CA12BB3ECC18D54F6969 --> my encription
cafecafe150 -> 0x31F7E38C3108CD15BC39C81CD14B6D6D --> l2pass.exe
as you can see, it encrypts only some passwords
I'm doing it as follows(in code)
encpw ep = new encpw(); var pw = ep.encpwd(txtNewPassword.Text); Response.Write(BitConverter.ToString(pw).Replace("-", ""));encpw is the next code:
public byte[] encpwd(string password) { var key = new byte[16]; long one, two, three, four; var dst = new byte[16]; var nBytes = password.Length; for (var i = 0; i < nBytes; i++) { key[i] = Encoding.ASCII.GetBytes(password.Substring(i, 1))[0]; dst[i] = key[i]; } long rslt = @key[0] + @key[1] * 256 + @key[2] * 65536 + @key[3] * 16777216; one = rslt * 213119 + 2529077; one = one - ToInt32(one / 4294967296) * 4294967296; rslt = @key[4] + @key[5] * 256 + @key[6] * 65536 + @key[7] * 16777216; two = rslt * 213247 + 2529089; two = two - ToInt32(two / 4294967296) * 4294967296; rslt = @key[8] + @key[9] * 256 + @key[10] * 65536 + @key[11] * 16777216; three = rslt * 213203 + 2529589; three = three - ToInt32(three / 4294967296) * 4294967296; rslt = @key[12] + @key[13] * 256 + @key[14] * 65536 + @key[15] * 16777216; four = rslt * 213821 + 2529997; four = four - ToInt32(four / 4294967296) * 4294967296; key[3] = ParseInt(one / 16777216); key[2] = ParseInt((((Int32)(one - @key[3] * 16777216)) / 65535)); key[1] = ParseInt((one - @key[3] * 16777216 - @key[2] * 65536) / 256); key[0] = ParseInt((one - @key[3] * 16777216 - @key[2] * 65536 - @key[1] * 256)); key[7] = ParseInt(two / 16777216); key[6] = ParseInt((two - @key[7] * 16777216) / 65535); key[5] = ParseInt((two - @key[7] * 16777216 - @key[6] * 65536) / 256); key[4] = ParseInt((two - @key[7] * 16777216 - @key[6] * 65536 - @key[5] * 256)); key[11] = ParseInt(three / 16777216); key[10] = ParseInt((three - @key[11] * 16777216) / 65535); key[9] = ParseInt((three - @key[11] * 16777216 - @key[10] * 65536) / 256); key[8] = ParseInt((three - @key[11] * 16777216 - @key[10] * 65536 - @key[9] * 256)); key[15] = ParseInt(four / 16777216); key[14] = ParseInt((four - @key[15] * 16777216) / 65535); key[13] = ParseInt((four - @key[15] * 16777216 - @key[14] * 65536) / 256); key[12] = ParseInt((four - @key[15] * 16777216 - @key[14] * 65536 - @key[13] * 256)); dst[0] = ParseInt(dst[0] ^ @key[0]); for (var i = 1; i < dst.Length; i++) dst[i] = ParseInt(@dst[i] ^ @dst[i - 1] ^ @key[i]); for (var i = 0; i < dst.Length; i++) if (dst[i] == 0) dst[i] = 102; return dst; } private static int ToInt32(long val) { return Convert.ToInt32(val); } private static byte ParseInt(long val) { return BitConverter.GetBytes(val)[0]; }any ideas of what would be causing this?
5 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now