All Projects → gy-games → pandorabox

gy-games / pandorabox

Licence: Apache-2.0 license
基于非对称加密(RSA)的私密信息传递工具,数据由本地客户端进行加密、解密操作。

Programming Languages

C#
18002 projects
java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
Inno Setup
370 projects
Vue
7211 projects
HTML
75241 projects

Labels

Projects that are alternatives of or similar to pandorabox

Deathransom
A ransomware developed in python, with bypass technics, for educational purposes.
Stars: ✭ 126 (+600%)
Mutual labels:  rsa
Encrypt Body Spring Boot Starter
(停止维护,替代品搜索:https://github.com/search?l=Java&q=encrypt&type=Repositories )SpringBoot控制器统一的响应体加密与请求体解密的注解处理方式,支持MD5/SHA/AES/DES/RSA
Stars: ✭ 198 (+1000%)
Mutual labels:  rsa
Network
C# Network Library
Stars: ✭ 237 (+1216.67%)
Mutual labels:  rsa
Hltool
Go 开发常用工具库, Google2步验证客户端,AES加密解密,RSA加密解密,钉钉机器人,邮件发送,JWT生成解析,Log,BoltDB操作,图片操作,json操作,struct序列化
Stars: ✭ 151 (+738.89%)
Mutual labels:  rsa
Easyrsa
Simple and Secure Wrapper for phpseclib
Stars: ✭ 183 (+916.67%)
Mutual labels:  rsa
Auth Jwt
A demo to learn JWT by reverse engineering
Stars: ✭ 208 (+1055.56%)
Mutual labels:  rsa
Open Crypto
🔑 Hashing (BCrypt, SHA2, HMAC), encryption (AES), public-key (RSA), and random data generation.
Stars: ✭ 115 (+538.89%)
Mutual labels:  rsa
accumulator
Cryptographic accumulators in Rust.
Stars: ✭ 115 (+538.89%)
Mutual labels:  rsa
Putty Cac
Windows Secure Shell Client With Support For Smart Cards & Certificates
Stars: ✭ 192 (+966.67%)
Mutual labels:  rsa
Jsrsasign
The 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free cryptography library supporting RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, OCSP, CMS SignedData, TimeStamp, CAdES JSON Web Signature/Token in pure JavaScript.
Stars: ✭ 2,760 (+15233.33%)
Mutual labels:  rsa
Datash
Send and Receive files directly from your browser with end-to-end encryption
Stars: ✭ 178 (+888.89%)
Mutual labels:  rsa
Rsactftool
RSA attack tool (mainly for ctf) - retreive private key from weak public key and/or uncipher data
Stars: ✭ 3,163 (+17472.22%)
Mutual labels:  rsa
Rsautil
.NET Core RSA algorithm using the help tool.It supports data encryption, decryption, signature and verification signature.It supports three key formats, namely: xml, pkcs1, pkcs8.It also supports key conversion for these three formats.Last also support pem formatting.
Stars: ✭ 218 (+1111.11%)
Mutual labels:  rsa
Cedarkey
$2 hardware SSH keys storage
Stars: ✭ 148 (+722.22%)
Mutual labels:  rsa
Illustrated Tls
The Illustrated TLS Connection: Every byte explained
Stars: ✭ 2,751 (+15183.33%)
Mutual labels:  rsa
Tlslite Ng
TLS implementation in pure python, focused on interoperability testing
Stars: ✭ 119 (+561.11%)
Mutual labels:  rsa
Encrypt
🔒 A set of high-level APIs over PointyCastle for two-way cryptography.
Stars: ✭ 199 (+1005.56%)
Mutual labels:  rsa
cosign
Cooperative RSA signing
Stars: ✭ 25 (+38.89%)
Mutual labels:  rsa
crypto.js
base on crypto module
Stars: ✭ 13 (-27.78%)
Mutual labels:  rsa
Ctf Crypto
Contains tools for solving RSA and other crypto problems in CTFs.
Stars: ✭ 221 (+1127.78%)
Mutual labels:  rsa

PandoraBox | 私密信息传递工具

基于非对称加密(RSA)的私密信息传递工具,数据由本地客户端进行加密、解密操作,密文通过网络进行传输,确保信息的安全性!
-- Browse Website --

系统介绍

PandoraBox 由Server与Client两部分组成,Server使用Java SpringBoot编写,数据存储为Mysql,欢迎页面使用iview编写;Client使用C#编写,数据存储为sqlite,Client使用inno setup打包为安装包。且为了方便快速的信息发送,Server的数据结构内需要维护一套用户验证体系与用户组织结构,目前PandoraBox仅可发送文本信息。

设计思路

arch.png

  • PandoraBox Client本地初始化时生成RSA公钥、私钥,公钥上传至PandoraBox Server,私钥通过设置的本地密码进行DES加密
  • 用户发送私密信息时,PandoraBox Client向PandoraBox Server请求获取接收者公钥,并将信息使用此公钥进行加密后发送至网络
  • 用户接收私密信息时,PandoraBox Client向PandoraBox Server请求获取密文,通过本地密码解密自己的RSA私钥,并通过此私钥进行密文的解密工作

如何构建并部署PandoraBox

PandoraBox Client

STEP 1 : 更新PandoraBox Client程序的Server端地址

打开Client工程,更新Client程序的App.config中 中的“pandora.gyyx.cn”为自己部署的Server地址,重新构建Client程序,Client端编译时注意选择Release,使用InnoSetup打包时将读取Release的文件列表

STEP 2 : 使用./Client/Setup/build_setup.iss 重新打包安装包

InnoSetup打包为安装包时,安装包将放入.\server\src\main\resources\static\software内,供Web下载,使用InnoSetup打包完成后再进行Server端的打包工作,为访问WEB主页时可进行客户端的下载

PandoraBox Server

STEP 1 : 初始化数据库并初始化人员组织结构

且为了方便快速的信息发送,Server的数据结构内需要维护一套用户验证体系与用户组织结构,组织结构可以通过两种方式初始化,1、直接填充数据库,2、实现Pandora Server端的预留接口

方法1:直接填充数据库

Pandora的数据库结构非常简单,只有三张表,用户可以直接将数据导入部门表与用户表即可。用户表密码使用MD5加密(也可留空)

pdm.png

方法2:实现PandoraBox Server端的预留方法

cn.gyyx.pandora.thirdparty 下预留了几个方法:

  • Boolean thridAuth(String username,String passwd) 第三方接口用户认证 :可以在此实现基于自身OA或认证系统的认证,当用户表内密码留空时,将调用此方法进行权限认证
  • void saveUserList() 保存员工列表 : 可在此实现写入用户表的方法
  • void saveDeptList(String pdid) 保存部门列表:可在此实现写入组织结构列表的方法
  • void updateOffwork() 更新员工状态 :可在此实现更新用户状态方法

目前定时器设置的每天2点执行一次,可根据情况修改run方法注解

STEP 2 :打包部署

注意打包前一定要先编译Client否则访问主页将无法下载Client安装包(编译完后地址为.\server\src\main\resources\static\software\PandoraBox.exe),将打完的Jar包 java -jar 启动即可

如何使用PandoraBox收发信息

STEP 1 : 初始化生成密钥

step1.png

STEP 2 : 绑定帐号

step2.png

STEP 3 : 收发信息

step3.png

其他事项

  • 私密信息发送后,用户仅可收取一次,收取后会将密文存入本地,每次点击时解密
  • 若需要重定义web主页的内容,可以编辑.\server\fe工程后 npm run build (注意删掉.\server\src\main\resources\static以前的内容)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].