当前位置: 首页 > news >正文

网站开发案例代码58同城app下载

网站开发案例代码,58同城app下载,怎么判断网站有没有做百度商桥,htaccess wordpress文章目录 一、对称加密算法AES1. AES简介2. AES代码 二、非对称加密RSA1. RSA简介2. 生成公钥私钥3. RSA代码 一、对称加密算法AES 1. AES简介 对称加密算法AES是目前广泛使用的一种加密技术#xff0c;它采用相同的密钥来进行数据的加密和解密。 AES的优点 高效性#x… 文章目录 一、对称加密算法AES1. AES简介2. AES代码 二、非对称加密RSA1. RSA简介2. 生成公钥私钥3. RSA代码 一、对称加密算法AES 1. AES简介 对称加密算法AES是目前广泛使用的一种加密技术它采用相同的密钥来进行数据的加密和解密。 AES的优点 高效性AES在多种平台上都具有很好的性能能够快速加密和解密数据。安全性AES被认为是一个非常安全的加密标准。灵活性支持多种密钥长度可以根据不同的安全需求选择合适的密钥。 AES的注意事项 密钥管理由于AES使用的是对称密钥因此密钥的安全存储和分发至关重要。填充方式在加密过程中需要对数据块进行填充以使其符合块大小要求常用的填充方式有PKCS、CBC等。初始化向量在某些AES模式下如CBC模式需要使用IV来增加加密的随机性。 2. AES代码 import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.nio.charset.StandardCharsets; import java.util.Base64;/*** AES 加密和解密*/ public class AesTest {// 秘钥private static String KEY aaccB1123Mopac31;// 向量private static String IV CdmccsaCCcdsADf;/*** 加密* param content 待加密内容* */public static String encrypt(String content) throws Exception {Cipher cipher Cipher.getInstance(AES/CBC/PKCS5Padding);SecretKeySpec secretKeySpec new SecretKeySpec(KEY.getBytes(StandardCharsets.UTF_8), AES);cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, new IvParameterSpec(IV.getBytes(StandardCharsets.UTF_8)));return Base64.getEncoder().encodeToString(cipher.doFinal(content.getBytes(StandardCharsets.UTF_8)));}/*** 解密* param content 加密内容* */public static String decrypt(String content) throws Exception {Cipher cipher Cipher.getInstance(AES/CBC/PKCS5Padding);SecretKeySpec secretKeySpec new SecretKeySpec(KEY.getBytes(StandardCharsets.UTF_8), AES);cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, new IvParameterSpec(IV.getBytes(StandardCharsets.UTF_8)));byte[] decryptedBytes cipher.doFinal(Base64.getDecoder().decode(content));return new String(decryptedBytes, StandardCharsets.UTF_8);}public static void main(String[] args) throws Exception {String text 加密内容;String encryptText encrypt(text);System.out.println(加密后内容 encryptText);System.out.println(解密后内容 decrypt(encryptText));} }效果 二、非对称加密RSA 1. RSA简介 RSA是一种非对称加密算法使用一对公钥和私钥来进行加密和解密操作公钥用于加密数据私钥用于解密数据。 RSA的优点 安全性RSA基于大数因子分解难题被认为是一种非常安全的加密算法。灵活性RSA支持不同的密钥长度可以根据需要选择适合的密钥长度来平衡安全性和性能。数字签名RSA算法可以用于生成和验证数字签名提供数据的完整性和身份验证功能。 RSA的注意事项 密钥长度选择合适的密钥长度非常重要常见的密钥长度有1024位、2048位等长度越长安全性越高。安全存储私钥需要严格保密确保私钥不被泄露否则将导致加密数据的泄露。性能RSA加密和解密的性能相对较低需要注意在大量数据加密时可能会影响性能。 加密场景 A生成一对密钥公钥、私钥B使用公钥对消息进行加密A使用私钥对消息进行解密 验签场景 A生成一对密钥公钥、私钥A使用私钥对消息进行签名B使用私公钥对消息内容和消息签名进行验签 2. 生成公钥私钥 生成1024位的RSA私钥 openssl genrsa -out private.key 1024使用私钥生成公钥 openssl rsa -in private.key -pubout -out public.key使用公钥加密 openssl pkeyutl -encrypt -pubin -inkey public.key -in test.txt -out test.encrypt使用私钥解密 openssl pkeyutl -decrypt -inkey private.key -in test.encrypt -out test.decrypt使用私钥签名 openssl pkeyutl -sign -inkey private.key -in test.txt -out test.sign使用公钥恢复签名数据 openssl pkeyutl -verifyrecover -pubin -inkey public.key -in test.sign -out test.verify使用公钥验签 openssl pkeyutl -verify -in test.txt -sigfile test.sign -pubin -inkey public.key3. RSA代码 import javax.crypto.Cipher; import java.util.Base64; import java.security.KeyFactory; import java.security.PrivateKey; import java.security.PublicKey; import java.security.Signature; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec;/*** RSA 加密解密和签名验签*/ public class RsaTest {// 公钥private static String PUBLIC_KEY MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHDYWXIMltIzia0lrxm1dJu96 QkogDVLsaFXxnjCZl72evCU0CAlWGDPc3gzJYFNw1KZvNRuTTiKbGa0enFc8hDoG Sjg37Na8OqMzLZZ/N6/DCAUywk1JNhMfYDr0GSYNgV37NXWvKD3rbvfxCkoH3ojn B3zUgr31VQfryzXqQIDAQAB;// 私钥private static String PRIVATE_KEY MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMcNhZcgyW0j7OJr SWvGbV0m73pCSiANUuxoVfGeMJmXvZ68JTQICVYYM9zeDMlgU3DUpm81G5NOIpsZ rR6cVzyEOgZKODfs1rw6ozMtln83r8MIBTLCTUk2Ex9gOvQZJg2BXfs1da8oPetu 9/EKSgfeiOcHfNSCvfVVBvLNer5AgMBAAECgYBNTSADJ9VxkBEPgRC7TQztrxAz T4kP13zLmF0//unqy/X0riZYhYJyrV8MbOPhNwCpmKYL2ytERv5VchYaeiqRBsQ vVqVhz5oBGmVxyrHsfiRl4F3vUA/qeewmNl/rFTxXBH5T3J0SzppSD6Z9gdPiy wl51futFqggqbiH/QJBAP9ETAFqKM5pW2KHhNbeKwxc2e0y3fvxAEfFKD6GakT d38QMTULN6kmZl3vhJXSxY/Xt8OjZVOvOTWj4yoqXycCQQDHnO9viCin1HGtv1W LIMxYFIj3m3CgE2RltgVErmxS5Jo3bh86UFk8t/JRRhatpxKaPBlOzN4WsmbkW b7jfAkAWuTOy5l2Iujb5u1PWEUx6t6Q4VSXPtW5TUzr44YqrPGpky0I2IJuB2UM/ lXTOCYdAuMlJByCcBHspRTRn1f9AkEAibZAqxXtd6KHDJoSXI9qlfaH09zQnqoV OfcBdIvR/C9NBlnxWmD1l8pkmR7vxul63gVejc5kkX8dBXwq1lKOawJBAKeVg9VB hj7WkjgoIVnuI8CIrO6IpboSySV/CZalkyNNVRWq2rOJbpIHe4baXqPomZ8mFEA 4SGoEW3AiyFiqb8;/*** 实例化公钥* param publicKey 公钥*/public static PublicKey getPublicKey(String publicKey) throws Exception {byte[] publicKeyBytes Base64.getDecoder().decode(publicKey.getBytes());X509EncodedKeySpec keySpec new X509EncodedKeySpec(publicKeyBytes);KeyFactory keyFactory KeyFactory.getInstance(RSA);return keyFactory.generatePublic(keySpec);}/*** 实例化私钥* param privateKey 私钥*/public static PrivateKey getPrivateKey(String privateKey) throws Exception {byte[] privateKeyBytes Base64.getDecoder().decode(privateKey.getBytes());PKCS8EncodedKeySpec keySpec new PKCS8EncodedKeySpec(privateKeyBytes);KeyFactory keyFactory KeyFactory.getInstance(RSA);return keyFactory.generatePrivate(keySpec);}/*** 公钥加密* param content 待加密内容*/public static String encrypt(String content, String publicKey) throws Exception {Cipher cipher Cipher.getInstance(RSA);cipher.init(Cipher.ENCRYPT_MODE, getPublicKey(publicKey));return new String(Base64.getEncoder().encode(cipher.doFinal(content.getBytes(UTF-8))));}/*** 私钥解密* param content 加密内容*/public static String decrypt(String content, String privateKey) throws Exception {Cipher cipher Cipher.getInstance(RSA);cipher.init(Cipher.DECRYPT_MODE, getPrivateKey(privateKey));return new String(cipher.doFinal(Base64.getDecoder().decode(content)));}/*** 私钥签名* param content 待签名内容*/public static String sign(String content, String privateKey) throws Exception {Signature signature Signature.getInstance(SHA1WithRSA);signature.initSign(getPrivateKey(privateKey));signature.update(content.getBytes(UTF-8));return new String(Base64.getEncoder().encode(signature.sign()));}/*** 公钥验签* param content 原始内容* param sign 签名内容*/public static boolean verify(String content, String sign, String publicKey) throws Exception {Signature signature Signature.getInstance(SHA1WithRSA);signature.initVerify(getPublicKey(publicKey));signature.update(content.getBytes(UTF-8));return signature.verify(Base64.getDecoder().decode(sign));}public static void main(String[] args) throws Exception {String content 消息内容;String encrypt encrypt(content,PUBLIC_KEY);System.out.println(encrypt);String decryp decrypt(encrypt,PRIVATE_KEY);System.out.println(decryp);String sign sign(content,PRIVATE_KEY);System.out.println(sign);boolean verify verify(content,sign,PUBLIC_KEY);System.out.println(verify);} }效果
http://www.hkea.cn/news/14349337/

相关文章:

  • 网站制作公司-山而望城经济建设开区门户网站
  • 深圳做微信商城网站网站 个人 公司 区别
  • 网站做跳转影响排名吗直播带货系统
  • wordpress放哪个目录深圳网络优化公司
  • 专业app软件定制天津做网站优化公司
  • 成都专业做网站公司备案期间网站怎么关闭
  • 企业网站可以做淘宝客吗付费的网站是指
  • wordpress广告位代码seo的优点
  • 建立网站心得东莞网站建设与网络推广
  • 网站移动终端建设建设部网站 技术规范
  • 做去态网站要学什么语言镇江做网站多少钱
  • 不会编程怎么做网站网络舆情
  • 学校网站的页头图片做网上花店网页制作代码
  • 天津视频网站开发团队林州网站建设哪家便宜
  • 目前热门的网站建设语言网站注册怎么做屏蔽过滤
  • 网站留言表单是如何做的怎么用网站做chm
  • 蛋糕网站建设末班政务服务网站 建设方案
  • 域名跟空间都有了怎么做网站wordpress获取数据库的值
  • 做网站后期怎么维护兴义市 网站建设
  • 重庆网站icp备案查询浙江省网站备案注销申请表
  • 国外设计案例网站外网网站建设
  • 网站地址推荐网站建设与运营公司主营业务收入与成本
  • 泉州市亿民建设发展有限公司网站网站开发 策划是干嘛的
  • 教育网站案例短视频营销系统
  • 相亲网站开发如何建立网站模板
  • 郑州网站建设专业乐云seo企业黄页信息查询网
  • 企业设计网站建设电影网站开发影院座位问题
  • 石家庄微网站建设公司哪家好wordpress语言包更新
  • 永嘉网站制作系统河北邢台市简介
  • 网站建设案例哪家好龙岗网站制作培训班