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

网站生成app免费同一源代码再建设一个网站

网站生成app免费,同一源代码再建设一个网站,移动网站开发 书,邵阳市建设工程造价管理站网站openssl简介OpenSSL 是一个开源项目#xff0c;其组成主要包括以下三个组件#xff1a;openssl#xff1a;多用途的命令行工具libcrypto#xff1a;加密算法库libssl#xff1a;加密模块应用库#xff0c;实现了ssl及tlsopenssl可以实现#xff1a;密钥证书管理、对称加…openssl简介OpenSSL 是一个开源项目其组成主要包括以下三个组件openssl多用途的命令行工具libcrypto加密算法库libssl加密模块应用库实现了ssl及tlsopenssl可以实现密钥证书管理、对称加密和非对称加密等想了解更多搜索查看官网。接下来主要围绕openssl生成RSA格式及pkcs1与pkcs8格式互相转换。配置RSA密钥可以参考支付宝配置密钥https://docs.open.alipay.com/common/104740如图生成命令使用说明RSA密钥生成命令生成RSA私钥opensslgenrsa -out rsa_private_key.pem 1024生成RSA公钥opensslrsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem将RSA私钥转换成PKCS8格式opensslpkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out pkcs8.pem注意“”符号后面的才是需要输入的命令。 具体操作openssl默认使用的是PEM格式经过base64。生成pem格式的私钥openssl genrsa -out private_key.pem 1024[rootVM_0_2_centos sign]# openssl genrsa -out private_key.pem 1024 Generating RSA private key, 1024 bit long modulus ............................ .................................................. e is 65537 (0x10001) [rootVM_0_2_centos sign]# ls private_key.pem [rootVM_0_2_centos sign]# cat private_key.pem -----BEGIN RSA PRIVATE KEY----- MIICXgIBAAKBgQDH2m9FfHSMZlT1t0PfQDCNHIzvnbhq6WlxEWTHETVKe3wHR/E 7TgqIYVRU0M1X2Jb7AKtopqer2PqSAnTC1dUWDtxcYWdvIaYAgTEyhlvaEpX8kc g2TWX1VfJuw02nbimfGPcRQFVrJW2UJkAuF3jVyhy0wnfovclcEEPmaWwIDAQAB AoGBAIY/NdWQV13kc5em5oG1xadUkVt4LQq19V1NWMvbxFdnAZaGfgXfU3XvI03 iAL3MsQakmXvyxvFofRNh5Prnw7sQVu0EIH4LLDb4M7xjxQJMhwsHC6hqzYjDr2 a5UCwEggg1UTidt3a7cZgO3RGocsM0b1RF1b77fDDjgpyGdZAkEA7RcSX0ZrvXJ u6iGylQcaJV56r4vlXqzusjn4drgLOizFLF/QkQp/MqN9zqCOvZioPv4pzNaYsBS Wj/gOnLvHQJBANfLDqBsljmeXlJiKX6sejWQKElOZcvasgR0/b0dPGVBfWzXEc5 ypfTpNd/Z5NfU1xtCziht2LWnNCZYWWmndcCQQCSwPM4UiiidW1V4Sz91C55dfyv FuXxSrAxbZIYOjeI3Ol3XBHh83QFG7tFWkFZpbN1xkcl8CPTU8c8lhpH7pAkEA zK1T7VTessXAOBNQIiZbsv3tBSu6qTSXcraNsF9Xlq78WUzRHeDOmjLNH8qbbT/ 622eNBPnTj9DM/QXVoQntwJAAjNM2FpeChJvyBFCk2bSt17pmJGTfiFDgn6/zK cTvmQC1kIb524j1hLp15ZLneBB4lhpB0mFWJsaaXioWloA -----END RSA PRIVATE KEY----- 生成公钥openssl rsa -in private_key.pem -pubout -out public_key.pem[rootVM_0_2_centos sign]# openssl rsa -in private_key.pem -pubout -out public_key.pem writing RSA key [rootVM_0_2_centos sign]# ls private_key.pem public_key.pem [rootVM_0_2_centos sign]# cat public_key.pem -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDH2m9FfHSMZlT1t0PfQDCNHIzv nbhq6WlxEWTHETVKe3wHR/E7TgqIYVRU0M1X2Jb7AKtopqer2PqSAnTC1dUWDt xcYWdvIaYAgTEyhlvaEpX8kcg2TWX1VfJuw02nbimfGPcRQFVrJW2UJkAuF3jVy hy0wnfovclcEEPmaWwIDAQAB -----END PUBLIC KEY----- pkcs8格式私钥某些语言需要pkcs8格式的私钥。php就不需要了使用openssl将刚才生成的私钥转为pkcs#8格式openssl pkcs8 -topk8 -inform PEM -in private_key.pem -outform PEM -nocrypt -out private_key_pkcs8.pem[rootVM_0_2_centos sign]# openssl pkcs8 -topk8 -inform PEM -in private_key.pem -outform PEM -nocrypt -out private_key_pkcs8.pem [rootVM_0_2_centos sign]# [rootVM_0_2_centos sign]# ls private_key.pem private_key_pkcs8.pem public_key.pem [rootVM_0_2_centos sign]# cat private_key_pkcs8.pem -----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMfab0V8dIxmVPW3 Q99AMI0cjOduGrr5aXERZMcRNUp7fAdH8TtOCohhVFTQzVfYlvsAq2imp6vYpL 4CdMLV1RYO3FxhZ28hpgCBMTKGW9oSlfyRyDZNb5fVV8m7DTaduKZ8Y9xFAVWslb ZQmQC4XeNXKHLTCdi9yVwQQZpbAgMBAAECgYEAhj811ZBXXeRzl6bmgbXFp1SR W3gv5CrX1XU1Yy9vEV2cBloZBd9Tde8jTeIAvcyxBqSZf6/LG8Wh9E2HkufDux BW7QQgfgssNvgzvGPFAkyHCwcLqGrNiMOvZrlQLASCCDVROJ23drtxmA7dEahywz RvVEXVvvt8MOOCnIZ1kCQQDtFxJfRmu9f4m7qIbKVBxolXnqviVerO6yOfh2uAs 6LMUsX9CRCn8yo33OoI69mKg/inM1piwFJaPA6cu8dAkEA18sOoH6yWOZ5eUmI pfqx6NZAoSU5ly9qyBHT9vR08ZUF9bNcRznKl9Ok139nk19TXG0LOKG3Ytac0Jlh Zaad1wJBAJLA8zhSKKJ1bVXhLP3ULnl1/K8W5fFKsDFv5khg6N4jc6XdcH4eHzdA Ubu0VaQVmls3XGRyXwI9NTxzyWGkfukCQQDMrVPtVN6yxcA4E1AiJluy/e0FK7qp NJdytr42wX1eWrvxZTNEd4M6aMs0fypttP/rbZ40EdOP0Mz9BdWhCe3AkACM0zb 4Wl4L6Em/IEUKTZtK3XumYkZNIUOCfr/MpxOZALWQhvnbiPWEunXlkud4EHiWG kHSYVYmxppeKhaWg -----END PRIVATE KEY----- pkcs1与pkcs8格式互相转换传统私钥格式转PKCS8在文中上面已经给出 这里主要是PKCS8格式私钥转换为PKCS1传统私钥格式命令openssl rsa -in pkcs8.pem -out pri_key.pem[rootVM_0_2_centos sign]# openssl rsa -in private_key_pkcs8.pem -out pri_key.pem writing RSA key [rootVM_0_2_centos sign]# cat pri_key.pem -----BEGIN RSA PRIVATE KEY----- MIICXgIBAAKBgQDH2m9FfHSMZlT1t0PfQDCNHIzvnbhq6WlxEWTHETVKe3wHR/E 7TgqIYVRU0M1X2Jb7AKtopqer2PqSAnTC1dUWDtxcYWdvIaYAgTEyhlvaEpX8kc g2TWX1VfJuw02nbimfGPcRQFVrJW2UJkAuF3jVyhy0wnfovclcEEPmaWwIDAQAB AoGBAIY/NdWQV13kc5em5oG1xadUkVt4LQq19V1NWMvbxFdnAZaGfgXfU3XvI03 iAL3MsQakmXvyxvFofRNh5Prnw7sQVu0EIH4LLDb4M7xjxQJMhwsHC6hqzYjDr2 a5UCwEggg1UTidt3a7cZgO3RGocsM0b1RF1b77fDDjgpyGdZAkEA7RcSX0ZrvXJ u6iGylQcaJV56r4vlXqzusjn4drgLOizFLF/QkQp/MqN9zqCOvZioPv4pzNaYsBS Wj/gOnLvHQJBANfLDqBsljmeXlJiKX6sejWQKElOZcvasgR0/b0dPGVBfWzXEc5 ypfTpNd/Z5NfU1xtCziht2LWnNCZYWWmndcCQQCSwPM4UiiidW1V4Sz91C55dfyv FuXxSrAxbZIYOjeI3Ol3XBHh83QFG7tFWkFZpbN1xkcl8CPTU8c8lhpH7pAkEA zK1T7VTessXAOBNQIiZbsv3tBSu6qTSXcraNsF9Xlq78WUzRHeDOmjLNH8qbbT/ 622eNBPnTj9DM/QXVoQntwJAAjNM2FpeChJvyBFCk2bSt17pmJGTfiFDgn6/zK cTvmQC1kIb524j1hLp15ZLneBB4lhpB0mFWJsaaXioWloA -----END RSA PRIVATE KEY----- [rootVM_0_2_centos sign]# 根据结果可知和上面生成的私钥是一致的加解密demo代码PHP版?php $pri -----BEGIN RSA PRIVATE KEY----- MIICXgIBAAKBgQDH2m9FfHSMZlT1t0PfQDCNHIzvnbhq6WlxEWTHETVKe3wHR/E 7TgqIYVRU0M1X2Jb7AKtopqer2PqSAnTC1dUWDtxcYWdvIaYAgTEyhlvaEpX8kc g2TWX1VfJuw02nbimfGPcRQFVrJW2UJkAuF3jVyhy0wnfovclcEEPmaWwIDAQAB AoGBAIY/NdWQV13kc5em5oG1xadUkVt4LQq19V1NWMvbxFdnAZaGfgXfU3XvI03 iAL3MsQakmXvyxvFofRNh5Prnw7sQVu0EIH4LLDb4M7xjxQJMhwsHC6hqzYjDr2 a5UCwEggg1UTidt3a7cZgO3RGocsM0b1RF1b77fDDjgpyGdZAkEA7RcSX0ZrvXJ u6iGylQcaJV56r4vlXqzusjn4drgLOizFLF/QkQp/MqN9zqCOvZioPv4pzNaYsBS Wj/gOnLvHQJBANfLDqBsljmeXlJiKX6sejWQKElOZcvasgR0/b0dPGVBfWzXEc5 ypfTpNd/Z5NfU1xtCziht2LWnNCZYWWmndcCQQCSwPM4UiiidW1V4Sz91C55dfyv FuXxSrAxbZIYOjeI3Ol3XBHh83QFG7tFWkFZpbN1xkcl8CPTU8c8lhpH7pAkEA zK1T7VTessXAOBNQIiZbsv3tBSu6qTSXcraNsF9Xlq78WUzRHeDOmjLNH8qbbT/ 622eNBPnTj9DM/QXVoQntwJAAjNM2FpeChJvyBFCk2bSt17pmJGTfiFDgn6/zK cTvmQC1kIb524j1hLp15ZLneBB4lhpB0mFWJsaaXioWloA -----END RSA PRIVATE KEY-----;$pub -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDH2m9FfHSMZlT1t0PfQDCNHIzv nbhq6WlxEWTHETVKe3wHR/E7TgqIYVRU0M1X2Jb7AKtopqer2PqSAnTC1dUWDt xcYWdvIaYAgTEyhlvaEpX8kcg2TWX1VfJuw02nbimfGPcRQFVrJW2UJkAuF3jVy hy0wnfovclcEEPmaWwIDAQAB -----END PUBLIC KEY-----;$data message;echo nbr/n; openssl_public_encrypt($data, $crypted, $pub); echo base64_encode($crypted);echo nbr/n;openssl_private_decrypt($crypted, $decrypted, $pri); echo $decrypted; ? Java版import java.security.KeyFactory; import java.security.PublicKey;import sun.misc.*;import java.security.PrivateKey; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec;import javax.crypto.Cipher;import sun.misc.BASE64Decoder;public class TestRSA {public static String PRIVATE_KEY -----BEGIN RSA PRIVATE KEY----- n MIICXAIBAAKBgQCd3V5GjpOwqNks9ProDGaZT2qURAAuAodHcUM3P1mnhOh4l4u n VdvkXunUI7K6XDg6Xu9eL1WDQc6qKXs/OD91LSRpkIAb2gMU8hGrNfR34izZh36 n KdfWnEQpniAiFsHsg2ddAaPtGZZ8/jpjuPq32IVZJkgyKcWqnz5aL3FMXQIDAQAB n AoGAJFdkvGTvTVhTYwhe3dxn7uIlmwLES1YSxfcneLmbADedz2OcSNBtKZqL9Eo n AOzf6NgYBLei2OaUuPvwnMBcGyijFmRoZGVEj70UP0mngyAkvY/juA60QDe5kY5 n rsqj4raHUf4iDK85nNwzXu7hIlPAnZmHe2Eekwo1rmgQUCQQDJerucfBKk3qrV n xS5NRW99lKMomIsMH55Sirbrnk8aU3SSRSD6uil3Dytv0erLZbc9d0Nr6SmBZgO n 0qzOjXDDAkEAyJVGgHMNuMbpHnim93HAP7wcejmMx7rP4zutw4OCiHrWv3kN8WUC n u826taRFtOuiXhQ3X8tb0l4ifaevJ8XwJAEcmuKqChnMCz4GqKNRKhZHL3dep n 3wYjmjIUKBT9SyIY5sng78ybgZkyGjza/Pfna9ahD4ZESQwRYq2i6BGAtQJBAJyD n bmnYXQKro0e1mYNHbV3OKOJueZ139bM35BTFT1uzjlIF4Y1U5lco5uHJduL/YsjK n OZM3d/t4duggWlkyUT0CQBdsjc7eQ9roxphrW4Q/6Zwi0EQ4xxM4SgxPY1RvkKFu n i0HdYBj5KRdIbrAbisUyQeKzB76oTJH5kZAU/pxao n -----END RSA PRIVATE KEY-----;public static String PRIVATE_KEY_PKCS8 -----BEGIN PRIVATE KEY----- n MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ3dXn4aOk7Co2Sz n 0ugMZplPapREAC4Ch0dxQzc/WaeE6HiXi5V2Re6dQjsrpcODpe714vVYNBzqop n ez84P3UtL5GmQgBvaAxTyEas19HfiLNmHfop19acRCmeICIWweyDZ10Bo0Zlnz n OmO4rfYhVkmSDIpxaqfPlovcUxdAgMBAAECgYAkV2S8ZO9NWFNjCF7d3Gfu4iWb n AsRLVhLF9yd4uZsAN53PY5xI0G0pmov70SgA7N/o2BgEt6LY75pS4/CcwFwbKKM n WZGhkZUSPvRQ/SaeDICS9jO4DrRAN7mRjmuyqPitodR/iIMrzmc3DNe7uEiU8Cf n 5mYf57YR6TCjWuaBBQJBAMl6u5x8EqTeqtXFLk1Fb32UoyiYiwwfnlKL6tuueTxp n TdJJFIPq6KXcPK2/R6stltz13Q2vpKYFmA7SrM6NcMMCQQDIlUaAcw24xukeeKb3 n ccA/vBx6OYzHus/jO63Dg4KIeta/eQ3xZQK7zbq1pEW066JeFDdfz61vSXiJ9p76 n 8nxfAkARya4qoKGcwLPgb6oo1EqFkcvd16nfBiOaMhQoFP1LIhjmyeDvzJuBmTIa n PNr89dr1qEPhkRJDBFiraLoEYC1AkEAnINuadhdAqujR7WZg0dtXc4o4m55nXf1 n szfkFMVPW7OOUgXhjVTmVyjm4cl24v9iyMo5kzd33h26CBaWTJRPQJAF2yNzt5D n 2ujGmGtbhD/pnCLQRDjHEzhKDE9jVGQoW6LQd1gGPkpF0husBuKxTJB4rMHv7qh n Mkfn6RkBTnFqg n -----END PRIVATE KEY-----;public static String PUBLIC_KEY -----BEGIN PUBLIC KEY----- n MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCd3V5GjpOwqNks9ProDGaZT2q n URAAuAodHcUM3P1mnhOh4l4uVdvkXunUI7K6XDg6Xu9eL1WDQc6qKXs/OD91LSR n pkIAb2gMU8hGrNfR34izZh36KdfWnEQpniAiFsHsg2ddAaPtGZZ8/jpjuPq32IVZ n JkgyKcWqnz5aL3FMXQIDAQAB n -----END PUBLIC KEY-----;public static void main(String[] args) {String text message;try {String priStr PRIVATE_KEY_PKCS8.replaceAll(-----BEGIN PRIVATE KEY-----n, );priStr priStr.replaceAll(-----END PRIVATE KEY-----, );byte [] privateKeyBytes new BASE64Decoder().decodeBuffer(priStr);PKCS8EncodedKeySpec privateKeySpec new PKCS8EncodedKeySpec(privateKeyBytes);KeyFactory keyFactory KeyFactory.getInstance(RSA);PrivateKey privateKey keyFactory.generatePrivate(privateKeySpec);Cipher cipher Cipher.getInstance(RSA); cipher.init(Cipher.ENCRYPT_MODE, privateKey);byte[] crypted cipher.doFinal(text.getBytes());System.out.println(new BASE64Encoder().encode(crypted));// decrypt blow.String pubStr PUBLIC_KEY.replaceAll(-----BEGIN PUBLIC KEY-----n, );pubStr pubStr.replaceAll(-----END PUBLIC KEY-----, );byte [] publicKeyBytes new BASE64Decoder().decodeBuffer(pubStr);X509EncodedKeySpec pubKeySpec new X509EncodedKeySpec(publicKeyBytes);keyFactory KeyFactory.getInstance(RSA);PublicKey publicKey keyFactory.generatePublic(pubKeySpec);cipher Cipher.getInstance(RSA); cipher.init(Cipher.DECRYPT_MODE, publicKey);byte[] bytes cipher.doFinal(crypted);System.out.println(new String(bytes, ISO-8859-1));} catch (Exception e) {e.printStackTrace();}}} 需要注意的是java的代码中的private key必须使用pkcs#8格式的。java加密,php解密也是没问题的感谢大家的阅读也希望能转发并关注我的公众号帝都小崔Cayden或搜索code_cayden
http://www.pierceye.com/news/780281/

相关文章:

  • 怎么制作网站域名六安网站制作人才招聘
  • 网站建设 启象科技上海公司排名100强
  • 户外旅游网站排名深圳seo专家
  • 娄底建设网站的公司深圳人才招聘网
  • 网站建设和制作网站名称设置
  • 温州外贸网站深圳工程建设交易服务中心网站
  • 网站导航网址大全网页设计模板代码免费
  • 卖机械设备什么网站做推广好做机械有什么兼职网站
  • 全屋定制十大公认品牌有哪些seo页面链接优化
  • 电子商务网站建设基础考试十大营销手段
  • 关于做服饰网站的首页WordPress纯代码添加
  • 网站qq交谈怎么做的公司注册50万和100万
  • 网站推广的电子邮件推广使用ftp修改网站图片
  • 建设宣传家乡的网站跨境电商怎么注册
  • 广州天河区网站建设公司wordpress调用文章描述
  • 网站开发项目策划书制作书签怎么做
  • 做网站组织结构框架例子整站seo优化哪家好
  • 网站内存不足哈尔滨网站优化页面
  • 响应式网站 图片尺寸奇数南宁网站建设业务员
  • 咸宁 网站建设wordpress聚合广告平台
  • 家具展示型网站个人可以做几个网站
  • 建设网站商城需要多少费用注册网页代码
  • 徐州企业网站制作南宁网站建设专家
  • 雨发建设集团有限公司网站wordpress related posts
  • 成品网站速成网站大连专业app开发设计
  • 十堰门户网站建设中小企业网站制作407
  • 房产网站排行部署自己做的网站吗
  • 一_建设网站前的市场分析平台线上推广策略怎么写
  • 全国网站建设公司排名嘉兴网嘉兴网站建设
  • 渭南网站建设风尚网络python做网站显示表格