netty服务端加解密

参考链接:https://www.cnblogs.com/silyvin/articles/11827030.html

一、解密

1、自定义解密类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.ByteToMessageDecoder;
 
import java.util.List;
 
//自定义解密
public class CustomDecoder extends ByteToMessageDecoder {
    @Override
    protected void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) throws Exception {
        byte [] bytes = new byte[in.readableBytes()];
        in.readBytes(bytes);
        byte [] encoded = Utils.decryp(bytes);; //自定义解密方法
        ByteBuf buf = Unpooled.wrappedBuffer(encoded);
        out.add(buf);
    }
}

 2、加入到pipeline中

1
2
ChannelPipeline pipeline = ch.pipeline();
 pipeline.addLast(new CustomDecoder());//解密操作

二、加密

1、自定义加密类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder;
 
public class HJ212MessageEncoder extends MessageToByteEncoder<HJ212PackBean> {
 
    @Override
    protected void encode(ChannelHandlerContext ctx, HJ212PackBean bean, ByteBuf byteBuf) throws Exception {
 
        String response = "";
 
        //自定义拼接回复内容response
 
        byte[] bytes=response.getBytes();
        bytes = Utils.encryp(bytes);//自定义加密方法
       
        ctx.writeAndFlush(Unpooled.copiedBuffer(bytes));
    }
 
    @Override
    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
        logger.error("编码异常" + cause.getMessage());
        ctx.close();
    }
}

2、加入到pipeline

1
2
ChannelPipeline pipeline = ch.pipeline();
pipeline.addLast(new HJ212MessageEncoder());

  

posted on   七七2020  阅读(86)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2018-11-23 收藏的有用的网页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示