Search this site
Embedded Files
Manab's Notes
  • Home
  • Home2
  • About
  • Architecture
    • Framework
    • Cloud Design Patterns
      • Operational Excellence
        • Gateway Aggregation
        • Gateway Offloading
        • Gateway Routing
        • Backends for Frontends pattern
      • Messaging and Perf Efficiency
        • Priority Queue
        • Publisher-Subscriber
        • Queue-Based Load Levelling
        • Asynchronous Request-Reply
        • Static Content Hosting
        • Claim-Check
        • Choreography
        • Competing Consumers
        • Cache-Aside
      • Reliability
        • Bulkhead
        • Retry
        • Throttling
        • SequentialConvoy
        • CompensatingTransaction
      • Security
        • Gatekeeper
        • Valet Key
        • FederatedIdentity
      • Microservice Patterns
        • Ambassador
        • Sidecar
        • Anti-Corruption Layer
        • Strangler Fig
      • Deployment
        • Geode
        • DeploymentStamp
        • External Configuration Store
    • Database
      • Database Selection
      • Data Terms
    • Docker
    • Cloud Security Checklist
    • Solution Architecture
      • Togaf
        • TOGAF Phases
        • Togaf Glossary
      • Practical Approach
        • Sprint Zero Architecture or IT Architecture Vision
        • Solution Architecture Review Template
        • Sample Case Study
          • Requirement
          • IT Architecture Vision Document
          • Solution Architecture Review Document
      • Case Studies
        • URL Shortener
        • Airbnb/Booking.com
        • Amazon
        • Whatsapp
        • Uber
        • Netflix/Youtube
        • Google Map
  • MS Azure
    • AI
      • Services at High Level
    • Generative AI
    • Analytics
      • KQL Basic
    • Compute
    • Containers
      • Deploy Container Apps
    • Databases
    • DeveloperTools
    • DevOps
    • Hybrid
    • Identity
    • Integration
    • IOT
    • Governance
    • Media
    • Migration
    • Mobile
    • Networking
    • Security
    • Storage
    • Web
    • AzureVirtualDesktop
    • Retirement
    • Misc
      • Deployment Stack
      • Azure Chaos Studio
  • MS Fabric
    • Introduction
    • Data Engineering
      • DataFlow Gen2
      • Data Warehouse
        • Zero-Copy Clone
        • NewYorkTaxi DW
      • Visual Queries
    • Data Factory
    • Real Time Analytics
    • Misc-Part01
      • Shortcut
      • Apache Spark
      • Data Wrangling
      • Autocreate PBI report
      • Data Activator
      • Durable Function Integration
      • Dataverse to Fabric
    • Resources
    • Design Patterns
  • MS .NET
    • Microservice
    • Python from C#
    • RSA Encryption Decryption
  • Azure FAQ
    • AKS
    • Scenarios
  • Miscellaneous
Manab's Notes

Generate Key: RSA Key Generator - CryptoTools.net 

public static string Encryption(string strText)

        {

            var publicKey = "<RSAKeyValue><Modulus>21wEnTU+mcD2w0Lfo1Gv4rtcSWsQJQTNa6gio05AOkV/Er9w3Y13Ddo5wGtjJ19402S71HUeN0vbKILLJdRSES5MHSdJPSVrOqdrll/vLXxDxWs/U0UT1c8u6k/Ogx9hTtZxYwoeYqdhDblof3E75d9n2F0Zvf6iTb4cI7j6fMs=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";


            var testData = Encoding.UTF8.GetBytes(strText);


            using (var rsa = new RSACryptoServiceProvider(1024))

            {

                try

                {

                    // client encrypting data with public key issued by server                    

                    rsa.FromXmlString(publicKey.ToString());


                    var encryptedData = rsa.Encrypt(testData, true);


                    var base64Encrypted = Convert.ToBase64String(encryptedData);


                    return base64Encrypted;

                }

                finally

                {

                    rsa.PersistKeyInCsp = false;

                }

            }

        }


        public static string Decryption(string strText)

        {

            var privateKey = "<RSAKeyValue><Modulus>21wEnTU+mcD2w0Lfo1Gv4rtcSWsQJQTNa6gio05AOkV/Er9w3Y13Ddo5wGtjJ19402S71HUeN0vbKILLJdRSES5MHSdJPSVrOqdrll/vLXxDxWs/U0UT1c8u6k/Ogx9hTtZxYwoeYqdhDblof3E75d9n2F0Zvf6iTb4cI7j6fMs=</Modulus><Exponent>AQAB</Exponent><P>/aULPE6jd5IkwtWXmReyMUhmI/nfwfkQSyl7tsg2PKdpcxk4mpPZUdEQhHQLvE84w2DhTyYkPHCtq/mMKE3MHw==</P><Q>3WV46X9Arg2l9cxb67KVlNVXyCqc/w+LWt/tbhLJvV2xCF/0rWKPsBJ9MC6cquaqNPxWWEav8RAVbmmGrJt51Q==</Q><DP>8TuZFgBMpBoQcGUoS2goB4st6aVq1FcG0hVgHhUI0GMAfYFNPmbDV3cY2IBt8Oj/uYJYhyhlaj5YTqmGTYbATQ==</DP><DQ>FIoVbZQgrAUYIHWVEYi/187zFd7eMct/Yi7kGBImJStMATrluDAspGkStCWe4zwDDmdam1XzfKnBUzz3AYxrAQ==</DQ><InverseQ>QPU3Tmt8nznSgYZ+5jUo9E0SfjiTu435ihANiHqqjasaUNvOHKumqzuBZ8NRtkUhS6dsOEb8A2ODvy7KswUxyA==</InverseQ><D>cgoRoAUpSVfHMdYXW9nA3dfX75dIamZnwPtFHq80ttagbIe4ToYYCcyUz5NElhiNQSESgS5uCgNWqWXt5PnPu4XmCXx6utco1UVH8HGLahzbAnSy6Cj3iUIQ7Gj+9gQ7PkC434HTtHazmxVgIR5l56ZjoQ8yGNCPZnsdYEmhJWk=</D></RSAKeyValue>";


            var testData = Encoding.UTF8.GetBytes(strText);


            using (var rsa = new RSACryptoServiceProvider(1024))

            {

                try

                {                    

                    var base64Encrypted = strText;


                    // server decrypting data with private key                    

                    rsa.FromXmlString(privateKey);


                    var resultBytes = Convert.FromBase64String(base64Encrypted);

                    var decryptedBytes = rsa.Decrypt(resultBytes, true);

                    var decryptedData = Encoding.UTF8.GetString(decryptedBytes);

                    return decryptedData.ToString();

                }

                finally

                {

                    rsa.PersistKeyInCsp = false;

                }

            }

        }


COPYRIGHT ©2023, MANAB BASU. ALL RIGHTS RESERVED.
LinkedIn
Google Sites
Report abuse
Google Sites
Report abuse