网络协议
网络协议
Firechou
先后从事于互联网金融,聚合支付,2B电商,游戏直播行业;有大型分布式微服务研发、架构、运维经验,现任某互联网公司架构师;
展开
-
ip地址转换省市
前言最近开发一个支付系统,为了避免上游风控(路由规则限制),需要根据请求ip解析到对应物理地域信息,从而匹配到对应的地域商户,解决跨域消费问题。即将线上消费包装成线下消费。实例:支付宝线下商户不能线上交易。可用的api接口淘宝http://ip.taobao.com/service/getIpInfo.php?ip=61.183.230.xx{"code":0,"data":{"ip":"61.1...原创 2018-03-19 10:11:52 · 11639 阅读 · 1 评论 -
关于浏览器跨域的分析
跨域特性跨域是浏览器基于同源策略的安全处理,防止CSRF网络攻击;跨域请求一般指ajax的跨站请求,http请求类型type为xhr,以下几种请求不会出现跨域:href请求、src请求等;跨域危害举例当用户访问A站,登录A站并拥有相关权限;用户没有退出A站,登录了恶意网站B站,如果浏览器没有跨域限制;浏览会自动带上用户在A站的cookie操作A站的相关权限,A站不能区别是否为恶意攻击,从而导致跨域...原创 2018-02-26 16:36:17 · 291 阅读 · 0 评论 -
通过RSA和DES实现网络报文加密加签(实例)
该模块有以下几个java:/RsaAndDesTest/src/com/test/Test.java // 测试类/RsaAndDesTest/src/com/test/EncryptManager.java // 加解密类/RsaAndDesTest/src/com/utils/DesUtils.java // des相关处理类/RsaAndDesTest/src/com/uti原创 2017-07-11 09:29:03 · 9424 阅读 · 1 评论 -
ajax跨域
1、当一个项目通过ajax访问另一个项目时,如果两个项目不在同一台服务器上,就会出现ajax跨域问题2、ajax的同源策略导致了跨域问题3、有两种方法解决ajax跨域问题:$.ajax()和$.jsonp(),但是被访问的项目必须返回jsonp格式数据4、json格式数据:{"a":1,"b":"2"},jsonp格式数据:callback({"a":1,"b":"2"})代码如下原创 2017-08-22 16:13:53 · 328 阅读 · 0 评论 -
HTTP传输协议,包括HttpUrlConnection和HttpClient。
HTTP说明:1、无连接,一次处理一个请求2、无状态,对于请求处理没有记忆能力3、应用层的协议,底层为socket协议,TCPHTPP请求://请求行 GET /test HTTP/ (CRLF) //消息报头Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,im原创 2017-07-11 14:26:03 · 633 阅读 · 0 评论 -
RSA加解密的应用
先直接贴代码package com.rsa;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.PrivateKey;import java.security.PublicKey;import原创 2017-11-07 09:55:02 · 501 阅读 · 0 评论 -
运营商宽带网速为什么用bit而不用byte
1.bit表示位,8bit等于1byte2.网络传输可能会出现bit泄露,比如网络噪音。而byte是代表实际的数据存储单位,所以理论上运营商统计的流量bit比实际到达用户的byte要多3.bit才能准确的计算网络的带宽4.避免噪音的方法:更好的网线,更好的通讯设备,运营商更好的网络基站服务,比如5G比4G性能要好5.100M光纤,即100Mb/s的带宽速度,实际下载速度原创 2017-11-14 13:38:03 · 4374 阅读 · 0 评论 -
关于base64的理解(图片和秘钥传输)
base64是一种编码转换,目的是将不可见字符转换为可见字符,可以在网络上传输;在计算机中任何数据都是按ascii码存储的,ascii中的都是可见字符,1-127位;纯文本都是可见字符,但是有的格式符为不可见字符,为了保证文本的格式正确和解析正常,需把文本转化为base64编码;smtp协议只支持纯文本,即只支持可见字符的传输;base64通常用在秘钥、图片传输等场合;网络协议原创 2017-09-29 10:31:06 · 706 阅读 · 0 评论 -
对称加解密(DES+DES+AES)
package test.com.pay.boss;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;im原创 2017-09-13 11:42:09 · 478 阅读 · 0 评论 -
map请求参数按照ascii升序排序后md5加密
package com.oleka.org.qfpay.utils;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.commons.codec.di原创 2018-02-06 11:16:37 · 4378 阅读 · 1 评论 -
对于加密证书的理解
1.权威证书发布认证机构颁发的证书,具有权威可信性,证书机构对所颁发证书提供保障,例如CFCA;2.xxx.pfx证书,二进制,包括公钥和私钥,遵循PKCS12标准,读取该xxx.pfx证书私钥需要密码,该密码在获取证书时得到;3.xxx.cer证书,二进制或base64,只有公钥;原创 2017-11-07 10:32:52 · 606 阅读 · 0 评论 -
https实现双向验证请求
前言:1、 某一次调上游接口过程中,测试环境用http,但生产环境需要用https,故将http改造成https,记录在此,以便之后参考;2、https比http更安全,http明文传输,https密文传输;3、https三次服务器握手,先验证服务器的可信性,然后进行数据加密传输;4、该实例继承httpclient实现https通讯;5、继承httpclient实现https通原创 2017-08-15 18:10:20 · 564 阅读 · 0 评论 -
httpclient模拟表单上传参数和文件
上传文件需要添加httpmime.jar支持,mime多用途互联网邮件扩展类型。/** * 表单提交参数和文件 * @param params * @param files * @return */ public static String postForm(String urlPath, Map<String, String> params, List<F...原创 2018-02-08 11:53:00 · 1977 阅读 · 0 评论 -
ping、telnet、netstat
ping // 检查网络IP是否能访问,支持wintelnet // 检查网络IP和端口是否能访问,支持win,需开启该服务netstat // 查询访问本机的所有IP和端口原创 2017-08-22 12:02:58 · 350 阅读 · 0 评论 -
字节数组与16进制转换
应用场景:一般的java报文加密中,例如des对称加密、md5签名,返回的都是字节数组,想要加密后的数据能被明文显示,一般将字节数组转换为16进制字符串private static void test7() { // 字节数组转换为16进制 String str = "中国"; byte[] strArray = str.getBytes(); System.o原创 2016-12-02 14:26:25 · 1215 阅读 · 0 评论