# crypto **Repository Path**: richardfyoung/crypto ## Basic Information - **Project Name**: crypto - **Description**: 外部合作方对接国美金融加解密工具调用demo代码 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-28 - **Last Updated**: 2025-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, 加解密 ## README # 请先阅读资金方接口文档,然后读此md文档,最后按照文档和demo进行开发 # jdk 请使用17版本 17.0.1 ## 一、包说明 ### 1. rcv 是接受国美请求相关 ### 2. snd 是回调给国美相关 ### 3. conf 读取配置文件内容相关 ### 4. constants header常量相关类 ### 5. util 加解密工具类、公私钥生成相关 ### 6. test 通用单元测试相关 ## 二、密钥生成 例程如下 ### 1、首先国美生成公司钥 ```java 私钥:MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJzG0ykZuMGRYm8FYvjNEtemkZhLdcG1kjHFeawG5SMvBqpb46pByHfvTzynkeSttsOMx2+wnkhjvEEwyZ1tIfQ4JRuab05y4JL6LmLyB8Rwa9JNhrBnVLtAyuws3UTc+rT4BGTRdeOQzyH9xBmvRNhS4oKmg1LAY5p065mEQvevAgMBAAECgYAJVa9SAFWSCkmISb5Rs8gzmJfiWlqJwk67nEH5M7SQqpFPiHF0UZQRoWlK4mwF59qnfGo4OhXFQqb9Yghx0ViBnbmqm+QPPn+JZls0mWaX33GdGbl8plgV29TWn/qwvghYG8r1GIgqY++W58pNcw1+4xnGtCQ5n53WfG//TkoKdQJBAM0/G1Kg3kdOeQHBb9qJGU1nXSEsgBHoamp/0O5GfUPWcVaz/pc4oKv26WXWjqDOKpSTlx5QFFZ77lXwmN3Ox90CQQDDi2Pi6AxC9lGylSVvss5iyTPzd6dL+4RrLlSr4F+ce1hRw6FQ6RAb/JDDUpdgtqWoIlf4irAxf53jfTj8Wer7AkEAs3WlV0cvc5vKtF1FhwhvJj3lsTbuuDnGql4d+emKZ8FeEliJmAG8gv/+rbu/tBzwID84WBne3ou4Jk6b6v19xQJAJBRH7cna2VARat3R9nYLVnbBOx7Mo1xY5l26Caxwd7LabNunnAIkksVbAG7wt0t77TXI/Xa5Y6ikPSERrp34mQJAMCeTK4Z7s2mzjr5tKncGBtnI6a4R6djdKYn0wGlETBoUZmOAgj+nxuSTAwGBt2ps8jB5wzjp1CnYNRwrzDJGTQ== 公钥:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCcxtMpGbjBkWJvBWL4zRLXppGYS3XBtZIxxXmsBuUjLwaqW+OqQch37088p5HkrbbDjMdvsJ5IY7xBMMmdbSH0OCUbmm9OcuCS+i5i8gfEcGvSTYawZ1S7QMrsLN1E3Pq0+ARk0XXjkM8h/cQZr0TYUuKCpoNSwGOadOuZhEL3rwIDAQAB ``` ### 2、流量方生成公私钥 #### 2.1 公私钥配置不要有前后空格 ```java 私钥:MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAOb++Ss30mmnqw5iThpKppp75ITRHB1A6vFfa3ZjjzjGVYhXCF/gX7yHsGKE+rLPEaqaF87nThmePoUgCGAzayhsscz66pcoHGLR9/d81dj4ANwnR0X1bH/Tm8I2nFHiA5LqmjvuW801/Vg6W7rrh18B4nwbTLqaa+Ss4Y6YmV45AgMBAAECgYAFrFHr+vQKBou0li5jLJ2tkhwUgfrUVUv5dejSlvl4jfBuuu2rxlVh/ZztbBgouSquweTFsiSwi63vGl0/GMwv8Kx33TUEGWiL6N/pLberujeJui9REWVaHF9x9PhDQYK/dPmjKZ/+VELr5Z1H9tO5rvGDm+sZh/+BZVktKFpWwQJBAOuYoADdK+lso9nK1gQQbLCb3nndf3xn5LBSI80FF5oRmkZezXOztwfQOd4o8aCcsvXBhXYKmLWfnWOLjJ7kK2ECQQD7AFuXKnPelrl0eJuUEoQA1EeTn8O8LIjb5ZAw4tQMKE7gCT689LVpxb4GgWBr2Yxw51bJWHSJbOusNM4QiDnZAkA+TlriX5uhW+3pR09aO83C1zX7HKz+hathRhfZvKMFR+p4+dFz6+9XzaXALyvXwhlCDS/yi9LfFZtWHC3QR5+BAkAmGpbM6v/uEZmTyd9saicp7Q/0pDNVtLkOENqD4VtpgREAR8cDbm6/4OoJGMjndn4wgZ4WMNx4JFXeraF+tv95AkBfdssgaHJiddbvQUp8dV6RocdlhlOZRMg3Ykj9ejwN2Dh7uvOOujie8wintQgEmrF/1MRomcKCODv1dangR1+w 公钥:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDm/vkrN9Jpp6sOYk4aSqaae+SE0RwdQOrxX2t2Y484xlWIVwhf4F+8h7BihPqyzxGqmhfO504Znj6FIAhgM2sobLHM+uqXKBxi0ff3fNXY+ADcJ0dF9Wx/05vCNpxR4gOS6po77lvNNf1YOlu664dfAeJ8G0y6mmvkrOGOmJleOQIDAQAB ``` ### 3、双方交换公钥 #### 3.1 为了数据安全考虑测试和生产公私钥是分开的。 ### 4. com.gmcf.crypto.util.DemoSignUtil.main -公私钥生成方法 ### 5、按照接口文档进行加解密数据传输和验签 可此参考demo #### 5.1 发送给国美的单元测试 在test包目录下 #### 5.2 接受给国美的在rcv报目录下 ### 6、国美回调流量平台 模拟curl脚本如下,流量平台可以用于自测 ```shell -6.1请求 curl -v --location 'http://localhost:18081/flowapi/channel/guomei/checkUser' \ --header 'channelId: 23' \ --header 'code: gmyk' \ --header 'randomKey: eKK7azzKoXGqUZ43MTaq43wHkV/L2HYG0txy0vypd+ocQL9kgfz8AqibfmUI3/v8FxAkcq4Re88BeD42NZhy1DF66A8nJHpAlk8kfskZH35Fkrh/jtHTUV9dPDbo3/CAhLhyz2fg/nf98qSVGhsU99motOma49K43ie5o6ozhCM=' \ --header 'signData: JdcvoBfrn0bVpYicu4jEyePK5MJ1F5JfA4021UQIy1GGC/L+pEGQPgxbGOR4zTa3u5j3mrrMtAqoX9/JNCQAvP/OwWeGnxTDffWh7V0WLHM3wJlD5UjEdcWeJS3YYb17TkP8E2+Xte+1pi46kiah5x3FqnRLVZjeBl7pAfRb/hc=' \ --header 'time: 1702862467019' \ --header 'Content-Type: application/json' \ --data 'NavRJomyQMutJBPl7/aQNjtJC6+ITdZg9rktkuJg+JIanp9liHHX81Hst1xZPa+LbCBR+rnjn8OAaTV53dsoseGPhJ5FKfJDanWHqMWd5JR3pKAohEY8qUkUG/5KJbRF40mcBpOWoUUMqAwBzmrOrrw3Qc1/03LN13nXQFiA4oCV5RikCtFVl/If2pMy+7FLyyrdY2pwfDF7+Pnjaiyxomr8YP5mQiZuoGNhTUTcA6g=' -6.2响应 { "reqHead": { "randomKey": "QFsWWprgTAYTh1aIsto/MVhIthyhUJWubkkyhcwMGIeZDGuTMOtuu1NJLVhDI/tsCFHfOlxt8JojVczL/9wl74Afx5qSSoCubPNMdS2ZQNEAbFhCKUO+fluTHqEQ2e7YB+vpD4YnSVLZRCuXROgMO5YJeLrhhQaqGTXTFrMZ7EY=", "signData": "gpvxp0akwALJuDSsIYxdhviewvQ5+y2FaU3+lJXkSSWPTMBcXYSu8XdgX8ueFtykGd21sASuRSNzYiFfwn91NDV1cVVRDZ0skaMyxN5eO3owK48Sz8QIwtYqWudj/zs0/nxyNGI2WDt2pSt/Js+EmpmFmLRZZZkLX7aFAOedg7o=", "capitalCode": "F6021" }, "respData": "S0W1UG6UvDzNu3FEK7mOmE4zdzyHIn97RWBSiW150p0zNy6d0Ew3ocWQd/dhyAfZHOlrcS8U/FTiOkovcqXMQQ==" } ``` ### 7. 回调国美 ```shell -7.1 请求http+json curl -v --location 'https://static-sit1.gomemyf.com/gmcf-cmc-sit-37-99/gmcf-cmc/standardization/stdRepaymentCallBack' \ --header 'Content-Type: application/json' \ --data '{ "reqHead": { "capitalCode": "F6021", "randomKey": "KEYA0NDLLotqCRqOWC4dtJGLdEQJ9EiMJbOTKXrXVfO/xDO9aDTbJflUSHcQs5GZgOVBl0pJiDw3Sm9mIGiOnLLtK9q8PjQRTlOgI0Cpp2w36Q0OANt6iYBpKLKM4+irgtvuvYlqo5Xbx2YHNdafzhdhP2Ib8tRT+mglBM0c9mY=", "signData": "gpvxp0akwALJuDSsIYxdhviewvQ5+y2FaU3+lJXkSSWPTMBcXYSu8XdgX8ueFtykGd21sASuRSNzYiFfwn91NDV1cVVRDZ0skaMyxN5eO3owK48Sz8QIwtYqWudj/zs0/nxyNGI2WDt2pSt/Js+EmpmFmLRZZZkLX7aFAOedg7o=" }, "respData": "Ke7xt4VS/rLuUHA+T0LYdnAie6+bsmmWV24cBFqDZnmr7bj/s85/TQ0w1/tvJxQxx2HU3tzeioVO8FLk9EwVYA==" }' -7.2 响应json是明文,无需流量平台解密 {"msg":"失败","status":"000001"} ```