<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Aes-Encryption on Kuldeep Pisda</title><link>https://kdpisda.in/tag/aes-encryption/</link><description>Recent content in Aes-Encryption on Kuldeep Pisda</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 14 Feb 2026 10:00:00 +0530</lastBuildDate><atom:link href="https://kdpisda.in/tag/aes-encryption/index.xml" rel="self" type="application/rss+xml"/><item><title>Building CCAvenue Right, Then Open-Sourcing python-pay-ccavenue</title><link>https://kdpisda.in/building-ccavenue-payments-open-source-python-pay-ccavenue/</link><pubDate>Sat, 14 Feb 2026 10:00:00 +0530</pubDate><guid>https://kdpisda.in/building-ccavenue-payments-open-source-python-pay-ccavenue/</guid><description>&lt;p&gt;When Django took over the payments slice from the FastAPI proxy (chapter 4), I made myself a promise: this time CCAvenue would be built &lt;em&gt;properly&lt;/em&gt;, not smeared across a request handler with encryption copied from a vendor sample and a prayer. I had already integrated it once — deliberately badly — back in the proxy era, just to prove people would pay for courses at all. They did: roughly one in ten of six thousand users. But that first version was a pile of &lt;code&gt;hashlib&lt;/code&gt; calls and string concatenation I never wanted to write again. So on the rebuild I wrote it one more time, carefully, and then pulled the gnarly core out into a package so nobody would ever have to. That package is &lt;a href="https://github.com/kdpisda/python-pay-ccavenue"&gt;&lt;code&gt;python-pay-ccavenue&lt;/code&gt;&lt;/a&gt;, and extracting it was the highest-leverage hour in the whole payments effort.&lt;/p&gt;</description></item></channel></rss>