{"id":13415027,"url":"https://github.com/itbackyard/CryptoNet","last_synced_at":"2025-03-14T22:32:40.582Z","repository":{"id":39925669,"uuid":"437094303","full_name":"maythamfahmi/CryptoNet","owner":"maythamfahmi","description":"CryptoNet is simple, fast and a lightweight asymmetric and symmetric encryption library.","archived":false,"fork":false,"pushed_at":"2024-10-18T23:17:55.000Z","size":10235,"stargazers_count":98,"open_issues_count":19,"forks_count":20,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-10-19T11:46:07.228Z","etag":null,"topics":["aes","asymmetric-encryption","cryptography","csharp","decryption","encryption","rsa","rsa-cryptography","security","symmetric-encryption","x509"],"latest_commit_sha":null,"homepage":"https://github.com/maythamfahmi/CryptoNet","language":"C#","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/maythamfahmi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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}},"created_at":"2021-12-10T19:38:00.000Z","updated_at":"2024-10-17T23:11:52.000Z","dependencies_parsed_at":"2023-01-25T19:47:00.877Z","dependency_job_id":"29511390-12a0-4c49-a794-f74039559a4a","html_url":"https://github.com/maythamfahmi/CryptoNet","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maythamfahmi%2FCryptoNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maythamfahmi%2FCryptoNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maythamfahmi%2FCryptoNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maythamfahmi%2FCryptoNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maythamfahmi","download_url":"https://codeload.github.com/maythamfahmi/CryptoNet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221513951,"owners_count":16835748,"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","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","asymmetric-encryption","cryptography","csharp","decryption","encryption","rsa","rsa-cryptography","security","symmetric-encryption","x509"],"created_at":"2024-07-30T21:00:41.799Z","updated_at":"2025-03-14T22:32:40.577Z","avatar_url":"https://github.com/maythamfahmi.png","language":"C#","readme":"![Cryptonet](https://raw.githubusercontent.com/itbackyard/CryptoNet/main/img/CryptoNetLogo.svg)\n\n[![GitHub](https://img.shields.io/github/license/itbackyard/cryptonet)](https://github.com/itbackyard/CryptoNet/blob/main/LICENSE)\n[![CryptoNet NuGet version](https://img.shields.io/nuget/v/CryptoNet?color=blue)](https://www.nuget.org/packages/CryptoNet/)\n[![Passing build workflow](https://github.com/itbackyard/CryptoNet/actions/workflows/ci.yml/badge.svg)](https://github.com/itbackyard/CryptoNet/actions/workflows/ci.yml)\n[![Generic badge](https://img.shields.io/badge/support-.NET%20Standard%202.0-blue.svg)](https://github.com/itbackyard/CryptoNet)\n![Code Coverage](https://raw.githubusercontent.com/itbackyard/CryptoNet/refs/heads/main/coverage-badge.svg)\n[![Build status](https://ci.appveyor.com/api/projects/status/31lrxbhyua22dhq3/branch/main?svg=true)](https://ci.appveyor.com/project/maythamfahmi/cryptonet/branch/main)\n\n# Introduction\n:rocket: CryptoNet is simple, fast, and a lightweight asymmetric and symmetric encryption NuGet library supporting .NET Standard 2.0 and C# 8.0 for cross platforms Windows, Linux, and iOS.\nIt is a 100% native C# implementation based on [Microsoft](https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography?view=net-8.0) cryptography.\nIt does not depend on other libraries.\n\n## Installation\n\nYou can install the CryptoNet NuGet package via [NuGet](https://www.nuget.org/packages/CryptoNet).\n\n## Website\n\nhttps://itbackyard.github.io/CryptoNet\n\n## Versions\n\n[![Nuget](https://img.shields.io/nuget/v/cryptonet?style=social)](https://www.nuget.org/packages/CryptoNet/) is latest version and are maintained. \n\nCryptoNet v3:\n\n- RSA: Asymmetric cryptographic algorithm used for secure data transmission and digital signatures.\n- AES: Symmetric cryptographic algorithm used for fast and secure data encryption.\n- DSA: Asymmetric cryptographic algorithm used for digital signatures\n\nCryptoNet Extensions v3:\n\n- RSA PEM exporting and importing.\n- Support for X509Certificate2.\n- Ability to encrypt and decrypt text, and files like images, word, excel, and any byte content.\n- **Cross-platform compatible** with Windows, Linux, and iOS.\n\n## Issues\n\nPlease report issues [here](https://github.com/itbackyard/CryptoNet/issues).\n\n## How to use\nRef to docs.\n\n## Build and Testing\nYou have different options to build and run the unit tests from:\n 1. Visual Studio 2019/2022.\n 2. Visual Studio Code.\n 3. dotnet command line.\n 4. dotnet commands are preserved in a PowerShell script ```build.ps1```.\n 5. Docker, run the following command from the solution folder:\n\n```\ndocker build . --file .\\Dockerfile --tag cryptonet-service:latest\n```\n\nor run preserved PowerShell:\n\n```powershell\n./run_docker_build.ps1\n```\n\n## How to release a new version?\n\nPreview\n```\n.\\run_release.ps1 -VersionNumber 3.0.0 -IsPreview $true\n```\n\nRelease\n```\n.\\run_release.ps1 -VersionNumber 3.0.0 -IsPreview $false\n```\n\n## Documentation Creation\n\nThere are static and dynamically generated documentation. Both are published automatically in the pipeline called `5-static.yml`.\n\nTo work with the documentation locally, the following might be relevant:\n\n- **Static base documentation** is located in the `docs` folder.\n- **Dynamically generated documentation** is created from code using a tool called **DocFX**.\n\n### Running Documentation Creation Locally\n\nTo generate the documentation locally on your computer, run:\n\n```powershell\n.\\run_docs.ps1\n```\n\n### Setup\n\n1. Install the DocFX tool (only needs to be done once):\n\n```\ndotnet tool install -g docfx\n```\n\n2. The following step is already configured in this repository. However, if you need to start over, run the following to initialize and configure DocFX:\n\n```\ndocfx init -y\n```\n\n## Update `index.md` with `README.md`\n\nTo update `index.md` with the latest content from `README.md`, run the following command:\n\n```powershell\n./run_update_index.ps1\n```\nThis script will:\n\n1. Add the following header to the top of `index.md`:\n\n```yaml\n---\n_layout: landing\n---\n```\n\n2. Append the content of `README.md` to `index.md`.\n\nThis ensures that index.md is always up to date with the latest changes in `README.md`.\n\n## Code Coverage\n\nCode coverage ensures that your tests adequately cover your codebase, improving overall quality, reliability, and maintainability. Follow these steps to set up and generate code coverage reports.\n\n### Running Code Coverage Locally\n\nTo generate code coverage reports locally on your computer, run the following command in Windows:\n\n```powershell\n.\\run_codecoverage.ps1\n```\n\n### Setup\n\nIf the required tools and packages are not set up locally, follow the steps below to configure them:\n\n1. Navigate to your test project directory (e.g., `CryptoNet.UnitTests`):\n\n```bash\ncd .\\CryptoNet.UnitTests\\\n```\n\n2. Add the necessary coverage packages to your test project:\n\n```bash\ndotnet add package coverlet.collector\ndotnet add package coverlet.msbuild\n```\n\n3. Install the report generator tool (only needs to be done once):\n\n```bash\ndotnet tool install --global dotnet-reportgenerator-globaltool\n```\n\nOnce set up, you can use these tools to analyze and generate detailed code coverage reports to ensure thorough testing of your application.\n\n## Contributing\n\nYou are more than welcome to contribute in one of the following ways:\n\n1. Basic: Give input, and suggestions for improvement by creating an issue and labeling it https://github.com/itbackyard/CryptoNet/issues\n2. Advance: if you have good knowledge of C# and Cryptography just grab one of the issues, or features, or create a new one and refactor and add a pull request.\n3. Documentation: Add, update, or improve documentation, by making a pull request.\n\n### How to contribute:\n\n[Here](https://www.dataschool.io/how-to-contribute-on-github/) is a link to learn how to contribute if you are not aware of how to do it.\n","funding_links":[],"categories":["Cryptography"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitbackyard%2FCryptoNet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitbackyard%2FCryptoNet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitbackyard%2FCryptoNet/lists"}