首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >区块链基础:非对称算法

区块链基础:非对称算法

作者头像
程裕强
发布于 2022-05-06 11:51:23
发布于 2022-05-06 11:51:23
43400
代码可运行
举报
运行总次数:0
代码可运行

1.Hash算法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package cn.hadron.security;

import java.security.MessageDigest;
import java.util.UUID;

import org.eclipse.jetty.util.security.Credential.MD5;

/**
 * crypto['krɪptoʊ]秘密成员,
 * 一些语言的crypto模块的目的是为了提供通用的加密和哈希算法
 * 加密工具类
 */
public class CryptoUtil {
    //工具类,隐藏构造器
    private CryptoUtil() {}

    /**
     * 计算给定字符串的SHA256值
     */
    public static String sha256(String str) {
        MessageDigest messageDigest;
        String hash = "";
        try {
            messageDigest = MessageDigest.getInstance("SHA-256");
            messageDigest.update(str.getBytes("UTF-8"));
            hash = byte2Hex(messageDigest.digest());
        } catch (Exception e) {
            System.out.println("getSHA256 is error" + e.getMessage());
        }
        return hash;
    }

    /**
     * 计算str的md5码(技巧:去除前几位,增强安全性)
     */
    public static String md5(String str) {
        String resultStr = MD5.digest(str);
        return resultStr.substring(4, resultStr.length());
    }

    /**
     * UUID的目的是让分布式系统中的所有元素都能有唯一的辨识
     * 获取一个UUID值,默认格式带有"-",需要删除所有的"-"
     */
    public static String getUUID() {
        return UUID.randomUUID().toString().replaceAll("\\-", "");
    }

    /**
     * 二进制字节数据转换为十六进制字符串形式
     * @param bytes
     */
    private static String byte2Hex(byte[] bytes) {
        StringBuilder sb = new StringBuilder();
        String tmp;
        for (int i = 0; i < bytes.length; i++) {
            /**
             * 注意toHexString(int i)的参数类型是32位int型,而传输入8位byte型数据会转换int型。
             * 转换后高24为也看作有效位,正数不影响,而负数会导致错误。
             * java中采用的是补码的形式表示负整数,比如byte的-1(0xff,11111111),会转换成int型的-1(0xffffffff),
             * 而oxff默认是int型,表示为0000 0000 0000 0000 0000 0000 1111 1111
             * 一个byte跟0xff &运算,高的24个比特就总会被清0,得到我们想要的结果。
             */
            tmp = Integer.toHexString(bytes[i] & 0xFF);
            if (tmp.length() == 1) {
                sb.append("0");
            }
            sb.append(tmp);
        }
        return sb.toString();
    }

    public static void main(String[] args){
        String s="chengyuqiang";
        System.out.println(CryptoUtil.md5(s));
        System.out.println(CryptoUtil.sha256(s));
        System.out.println(CryptoUtil.getUUID());
    }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1163a12be8b90e692445a7115ca900f4
c7a8233d922f3db03f1c7a0864675cb5092ce850d033b7ea07ca5208da27edfe
b286928d476b4de0aa5b8c83b7b27e54

2、RSA非对称算法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package cn.hadron.security;

import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Signature;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.HashMap;
import java.util.Map;
import javax.crypto.Cipher;


/**
 * RSA安全编码组件
 */
public abstract class RsaUtil extends Coder {
    public static final String KEY_ALGORITHM = "RSA";
    public static final String SIGNATURE_ALGORITHM = "MD5withRSA";
    private static final String PUBLIC_KEY = "RSAPublicKey";
    private static final String PRIVATE_KEY = "RSAPrivateKey";

    /**
     * 初始化密钥
     */
    public static Map<String, Object> initKey() throws Exception {
        //RSA密钥对生成器
        KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM);
        //初始化
        keyPairGen.initialize(1024);
        //耗时操作,动态生成密钥对
        KeyPair keyPair = keyPairGen.generateKeyPair();
        //获取公钥
        RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
        //获取私钥
        RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
        //保存密钥对
        Map<String, Object> keyMap = new HashMap<String, Object>(2);
        keyMap.put(PUBLIC_KEY, publicKey);
        keyMap.put(PRIVATE_KEY, privateKey);
        return keyMap;
    }
    /**
     * 取得私钥
     */
    public static String getPrivateKey(Map<String, Object> keyMap) throws Exception {
        Key key = (Key) keyMap.get(PRIVATE_KEY);
        return encryptBASE64(key.getEncoded());
    }

    /**
     * 取得公钥
     */
    public static String getPublicKey(Map<String, Object> keyMap) throws Exception {
        Key key = (Key) keyMap.get(PUBLIC_KEY);
        return encryptBASE64(key.getEncoded());
    }

    /*******************公钥加密,私钥解密**************************/

    /**
     * 消息发送者用对方公钥加密
     */
    public static byte[] encryptByPublicKey(byte[] data, String key) throws Exception {
        // 对公钥BASE64解密,取得公钥
        X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(decryptBASE64(key));
        KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
        Key publicKey = keyFactory.generatePublic(x509KeySpec);

        // 对数据加密
        Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
        //将Cipher初始化为加密模式
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);
        //数据将被加密或解密
        return cipher.doFinal(data);
    }
    /**
     * 消息接收者用自己的私钥解密
     */
    public static byte[] decryptByPrivateKey(byte[] data, String key) throws Exception {
        // decryptBASE64(key)对密钥解密,取得私钥
        PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(decryptBASE64(key));
        KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
        Key privateKey = keyFactory.generatePrivate(pkcs8KeySpec);
        // 对数据解密
        Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
        //将Cipher初始化为解密模式
        cipher.init(Cipher.DECRYPT_MODE, privateKey);
        //数据将被加密或解密
        return cipher.doFinal(data);
    }

    /*******************秘钥加密,公钥验证***********************/

    /**
     * 消息发送者用自己的私钥加密
     */
    public static byte[] encryptByPrivateKey(byte[] data, String key) throws Exception {
        // 对密钥解密,取得私钥
        PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(decryptBASE64(key));
        KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
        Key privateKey = keyFactory.generatePrivate(pkcs8KeySpec);
        // 对数据加密
        Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
        //加密模式
        cipher.init(Cipher.ENCRYPT_MODE, privateKey);
        return cipher.doFinal(data);
    }
    /**
     * 用公钥解密
     */
    public static byte[] decryptByPublicKey(byte[] data, String key) throws Exception {
        //对密钥解密, 取得公钥
        X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(decryptBASE64(key));
        KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
        Key publicKey = keyFactory.generatePublic(x509KeySpec);
        // 对数据解密
        Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
        //解密模式
        cipher.init(Cipher.DECRYPT_MODE, publicKey);
        return cipher.doFinal(data);
    }

    /****************数字签名:私钥加密,公钥验证**********************/

    /**
     * 用发送者的私钥对信息生成数字签名
     * @param data : 加密数据
     * @param privateKey: 私钥
     */
    public static String sign(byte[] data, String privateKey) throws Exception {
        // 解密由base64编码的私钥,构造PKCS8EncodedKeySpec对象
        PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(decryptBASE64(privateKey));
        //指定的加密算法RSA
        KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
        //取私钥匙对象
        PrivateKey priKey = keyFactory.generatePrivate(pkcs8KeySpec);
        //Signature类用来提供数字签名算法功能
        //可以将签名算法指定为 MD2withRSA、MD5withRSA 或 SHA1withRSA
        Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM);
        //用私钥初始化这个用于签名的对象
        signature.initSign(priKey);
        //使用指定的byte数组更新要签名或验证的数据
        signature.update(data);
        //sign()返回已更新数据的签名字节,再进行BASE64加密
        return encryptBASE64(signature.sign());
    }

    /**
     * 使用发送者的公钥校验数字签名
     * 通过发送者的公钥publicKey验证他签名内容sign是否符合data数据
     * @param data: 加密数据
     * @param publicKey: 公钥
     * @param sign: 数字签名
     * @return 校验成功返回true 失败返回false
     */
    public static boolean verify(byte[] data, String publicKey, String sign) throws Exception {
        // 解密由base64编码的公钥,构造X509EncodedKeySpec对象
        X509EncodedKeySpec keySpec = new X509EncodedKeySpec(decryptBASE64(publicKey));
        // 指定加密算法RSA
        KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
        // 取公钥匙对象
        PublicKey pubKey = keyFactory.generatePublic(keySpec);
        //Signature类用来提供数字签名算法功能
        Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM);
        //用公钥初始化验证对象
        signature.initVerify(pubKey);
        //使用指定的byte数组更新要签名或验证的数据
        signature.update(data);
        // 验证签名是否正常
        return signature.verify(decryptBASE64(sign));
    }

    public static void main(String[] args) throws Exception{
        String s="chengyuqiang";
        /**
         * 测试公钥加密,私有解密
         */
        Map<String, Object> map=RsaUtil.initKey();
        String publicKey=RsaUtil.getPublicKey(map);
        String privateKey=RsaUtil.getPrivateKey(map);
        System.out.println("公钥:\n"+publicKey);
        System.out.println("私钥:\n"+privateKey);
        //公钥加密
        byte[] msg=RsaUtil.encryptByPublicKey(s.getBytes(), publicKey);
        //秘钥解密
        msg=RsaUtil.decryptByPrivateKey(msg, privateKey);
        System.out.println("解密:\n"+new String(msg));

        /**
         * 测试私签名,公钥验证签名
         */
        // 产生签名
        String sign = RsaUtil.sign(s.getBytes(), privateKey);
        System.out.println("签名内容:\n"+sign);
        //验证签名
        boolean status = RsaUtil.verify(s.getBytes(), publicKey, sign);
        System.out.println("签名正确:\n"+status);
    }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
公钥:
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2N1dAK2NzzcOjRwb3rBjT+NvpMKKgL98Pr3D0
jE99hfJL2MpuKflA0U18EKnZT1QjrninAeLHiR1BlnuJpHVGKNPkzXuIhggiHlvdb9WwsfB+u+pf
Igca7cURYR+4bELE+hlUVP8nyMuD9Vs8bY23oHG2Ff/svVQEo/j4uOMAywIDAQAB

私钥:
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALY3V0ArY3PNw6NHBvesGNP42+kw
oqAv3w+vcPSMT32F8kvYym4p+UDRTXwQqdlPVCOueKcB4seJHUGWe4mkdUYo0+TNe4iGCCIeW91v
1bCx8H676l8iBxrtxRFhH7hsQsT6GVRU/yfIy4P1WzxtjbegcbYV/+y9VASj+Pi44wDLAgMBAAEC
gYBOOEFvHXEK1CiIXcQi67CYxfp5BtS42PPzQsfFYrn401gosP5s/f2ukmqluG2BCKnAy3OllYyp
RTXW4udTNdLVOiglX5TSCk1zp3Hn6oLbbjWIpoqAhx5PJslZY35MscNYVViz69FwLHjCeDWRitsV
f/eDHyC+r6vb3PQTgpjegQJBAOvtWqLhMNhAOel14pirf+A520xz/gzpSj/dCzTS53oLGvCJqzn1
HJqA4xmhEf8MMcHN4+SiVtjQdKVINaFbeUECQQDFuCBzCMLKHNfrUp35lOlnmAT5RBEU+0CV85jl
oERpLTU1v6igsP6mxXJXXRQpNzP2orN1IbrVVwF8uuUU/wsLAkBiDtH4Fs69YtxvG08mE0ngAUwT
l7ZE2YXBy3bH6szI3erBhQbE3QqZcO5zDY40SnY3zgJlWc/s559DvyKDQUjBAkEAqa7filnWcgZW
98orcWpu9Uzt186mqk8Gmqo4abklfO4jYEFfwqijoxSIkJl9F/IcUmpHgRq1cSn+SMFMoLxRCQJA
PJFE5keSZgjJpGsMAdEIpHKKUxF5vd+oS9+Z7EpSn7VGTRPLycSIDKQT2F9/QV1z5IKni1jqbnXs
imRw1coviw==

解密:
chengyuqiang
签名内容:
BqJgQ4ciZNH0bE0TQeTgQQbF+h0jPNauHbgc95L8QggwD0p8qb4fdEjsmevdiN0OszOqyR9z71S9
LXCeH+ZeKVZagRWG0jx0Bfk74Rf5Pt2MMPqjzlDRfCTJyg0z8GjC/U70IaxgfgkrFVf3rsk4XzAB
R045Sjf2P+nJf/hf4wE=

签名正确:
true

3、RsaUtil 的父类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package cn.hadron.security;

import java.security.MessageDigest;
import javax.crypto.KeyGenerator;
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

/**
 * 基础加密组件
 * 
 */
public abstract class Coder {
    public static final String KEY_SHA = "SHA";
    public static final String KEY_MD5 = "MD5";
    //HMAC(Hash Message Authentication Code),散列消息鉴别码,基于密钥的Hash算法的认证协议
    public static final String KEY_MAC = "HmacMD5";

    //BASE64实现主要就是BASE64Encoder、BASE64Decoder两个类,我们只需要知道使用对应的方法即可。

    /**
     * BASE64加密,把任意序列的8位字节描述为一种不易被人直接识别的形式。
     * BASE加密后产生的字节位数是8的倍数,如果不够位数以=符号填充
     */
    public static String encryptBASE64(byte[] key) throws Exception {
        return (new BASE64Encoder()).encodeBuffer(key);
    }
    /**
     * BASE64解密
     */
    public static byte[] decryptBASE64(String key) throws Exception {
        return (new BASE64Decoder()).decodeBuffer(key);
    }

    /**
     * JDK提供的MD5算法实现
     */
    public static byte[] encryptMD5(byte[] data) throws Exception {
        MessageDigest md5 = MessageDigest.getInstance(KEY_MD5);
        md5.update(data);
        return md5.digest();
    }

    /**
     * JDK提供的SHA算法
     */
    public static byte[] encryptSHA(byte[] data) throws Exception {
        MessageDigest sha = MessageDigest.getInstance(KEY_SHA);
        sha.update(data);
        return sha.digest();

    }

    /**
     * 初始化HMAC密钥
     */
    public static String initMacKey() throws Exception {
        KeyGenerator keyGenerator = KeyGenerator.getInstance(KEY_MAC);
        SecretKey secretKey = keyGenerator.generateKey();
        return encryptBASE64(secretKey.getEncoded());
    }

    /**
     * HMAC加密
     */
    public static byte[] encryptHMAC(byte[] data, String key) throws Exception {
        SecretKey secretKey = new SecretKeySpec(decryptBASE64(key), KEY_MAC);
        Mac mac = Mac.getInstance(secretKey.getAlgorithm());
        mac.init(secretKey);
        return mac.doFinal(data);
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
6月腾讯云容器产品技术月报|参与互动赢好礼!
2022年6月 VOL:26 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性6月上新 腾讯云弹性容器服务EKS 安全稳定的无服务器 Kubernetes 服务 弹性容器服务(Elastic Kubernetes Service,EKS)是腾讯云容器服务推出的无须用户购买节点即可部署工作负载的服务模式。 EKS上线包年包月模式超级节点,针对常驻业务提供超高性价比的Serverless容器服务。详情参考: EKS上线磁盘清理能力,支持使用annotatio
腾讯云原生
2022/07/04
1.5K0
6月腾讯云容器产品技术月报|参与互动赢好礼!
5月腾讯云容器产品技术月报|容器给大小儿童发礼物啦~
2022年5月 VOL:25 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性5月上新 腾讯云容器服务公有版TKE 高可扩展和高性能容器管理服务 腾讯云容器服务(Tencent Kubernetes Engine,TKE)是高度可扩展的高性能容器管理服务,您可以在托管的云服务器实例集群上轻松运行应用程序。 TKE集群支持 Kubernetes 1.22 版本 (白名单体验中) ‍‍‍扩展组件 Addon 支持组件升级 CBS/CFS/COS-CSI 组件支持
腾讯云原生
2022/05/31
1.3K0
5月腾讯云容器产品技术月报|容器给大小儿童发礼物啦~
4月腾讯云容器产品技术月报|五一快乐,豪礼送送送!
2022年4月 VOL:24 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性4月上新 腾讯云弹性容器服务EKS 安全稳定的无服务器 Kubernetes 服务 弹性容器服务(Elastic Kubernetes Service,EKS)是腾讯云容器服务推出的无须用户购买节点即可部署工作负载的服务模式。 EKS 创建工作负载时支持开启自动升配 EKS 支持 Job 批量调度能力,需开放白名单使用 支持工具化将 TKE 集群升级至 EKS 集群 EKS 上线
腾讯云原生
2022/05/05
9700
4月腾讯云容器产品技术月报|五一快乐,豪礼送送送!
11月腾讯云容器产品技术月报|转发集赞抢腾讯周边
2021年11月 VOL:19 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性11月上新 腾讯云边缘服务TKE@Edge 从中心云管理边缘云资源的容器系统 边缘容器服务(Tencent Kubernetes Engine for Edge,简称 TKE Edge)是腾讯云容器服务推出的用于从中心云管理边缘云资源的容器系统。 公有云 TKE-Edge 支持边缘节点绑定 ENI 公有云 TKE-Edge 支持边缘节点 Pod 直通能
腾讯云原生
2021/12/01
5.1K1
3月腾讯云容器产品技术月报|参与抽奖成为超级锦鲤!
2022年3月 VOL:23 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性3月上新 腾讯云弹性容器服务EKS 安全稳定的无服务器 Kubernetes 服务 弹性容器服务(Elastic Kubernetes Service,EKS)是腾讯云容器服务推出的无须用户购买节点即可部署工作负载的服务模式。 EKS 支持 HPC 组件 EKS 镜像缓存支持自定义延期销毁 CBS 盘 EKS 资源创建时若当前规格无资源,则支持资源自动升配重试 新增预留券资源概览,
腾讯云原生
2022/04/14
1.3K0
3月腾讯云容器产品技术月报|参与抽奖成为超级锦鲤!
9月容器产品技术月报 | 腾讯云原生专题上线啦
2020年9月 VOL:05 容器产品新特性 9月上新 腾讯云边缘服务TKE Edge 从中心云管理边缘云资源的容器系统 边缘容器服务(Tencent Kubernetes Engine for Edge,简称 TKE Edge)是腾讯云容器服务推出的用于从中心云管理边缘云资源的容器系统。 1.支持腾讯云 ECM 安全组。用户通过边缘容器控制台购买腾讯云边缘计算机器资源时可以选择节点安全组进行安全管理。 2.上线边缘节点权限收敛方案。该特性自动启用,无须用户操作,能够有
腾讯云原生
2020/10/09
8690
6月腾讯云容器产品技术月报 | 留言有惊喜
留言有奖 腾讯云容器产品技术产品月报 6月版,请阅。 继续给大伙薅羊毛的机会呀,点赞数最高的前 20条留言,送惊喜礼物哦~ 云原生 新势力 云原生新势力,新鲜出炉、热气腾腾的产品新特性,总有一款牵动你的心~ 腾讯云容器服务公有云版TKE ● 高可扩展和高性能容器管理服务 1. IPVS-bpf模式上线。 性能提升40%: 腾讯 TKE 用 eBPF绕过 conntrack 优化K8s Service,短连接性能提升40% 以上,p99 时延降低31% 以上。 2. CLB直通弹性网卡模式的Pod,
腾讯云原生
2022/04/14
9470
6月腾讯云容器产品技术月报 | 留言有惊喜
11月容器技术产品月报 | 云原生监控正式公测
2020年11月 VOL:07 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性 11月上新 腾讯云边缘服务TKE@Edge 从中心云管理边缘云资源的容器系统 边缘容器服务(Tencent Kubernetes Engine for Edge,简称 TKE Edge)是腾讯云容器服务推出的用于从中心云管理边缘云资源的容器系统。 1. 上线边缘 DNS 方案,该方案将不再占用节点 53 端口。 2. 节点安装脚本支持以下两个功能参数:
腾讯云原生
2020/12/01
3.1K0
1月腾讯云容器产品技术月报|虎年双重豪礼等你拿!
2022年1月 VOL:21 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性 1 月上新 腾讯云容器服务公有版TKE 高可扩展和高性能容器管理服务 腾讯云容器服务(Tencent Kubernetes Engine,TKE)是高度可扩展的高性能容器管理服务,您可以在托管的云服务器实例集群上轻松运行应用程序。 节点池支持设置云标签、实例创建策略 TKE 虚拟节点节点功能支持 1.20 集群 文件存储CFS支持V3/V4两种协议挂载模式 通过CBS-CSI动
腾讯云原生
2022/02/08
2.3K0
8月容器产品技术月报来袭 | 技术书籍等你拿
腾讯云云原生监控服务(Tencent Prometheus Service)是分布式的监控部署方案,提供更加易用的的监控配置流程和适配大规模监控场景的高性能架构。
腾讯云原生
2020/09/01
1K0
3月容器产品技术月报|留言抢定制款T恤
2021年3月 VOL:11 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性 3月上新 腾讯云边缘服务TKE@Edge 从中心云管理边缘云资源的容器系统 边缘容器服务(Tencent Kubernetes Engine for Edge,简称 TKE Edge)是腾讯云容器服务推出的用于从中心云管理边缘云资源的容器系统。 TKE Edge边缘容器服务开源版——SuperEdge 正式发放v0.2.0 版本,支持灰度发布、新增Sta
腾讯云原生
2021/04/01
4.9K1
9月月报|腾讯云容器女团邀你共祝祖国生日快乐!
2021年9月 VOL:17 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性 9月上新 腾讯云边缘服务TKE@Edge 从中心云管理边缘云资源的容器系统 边缘容器服务(Tencent Kubernetes Engine for Edge,简称 TKE Edge)是腾讯云容器服务推出的用于从中心云管理边缘云资源的容器系统。  SuperEdge 0.6.0 版本9 月底发布,包含特性如下: 集成TopoLVM,支持边缘本地持久化存
腾讯云原生
2021/10/08
1.1K0
中秋福利 | 15个系列100+篇超实用云原生原创干货合集(内含腾讯彩蛋)
还有2天,就要迎来中秋小长假啦 这个中秋节你打算怎么过? 小云选择把这篇干货全部拿下! 云原生技术干货文章合集,来咯~ 2021 年,要说咱们技术圈子里什么最火? 云原生肯定是那 NO.1 不管你是刚入门的新手小白,还是涉足云原生已久的“大神”。 只需收藏这一篇,15个系列100+篇超实用云原生技术干货,只需手指一点,轻松学技术! 以下是整理的15个系列合集 (1)Kubernetes 降本增效系列文 (2)K8s 性能优化实践系列文 (3)最佳实践案例 (4)运维排障系列 (5)容器镜像
腾讯云原生
2021/09/18
2K0
12月腾讯云容器产品技术月报|元旦双重豪礼等你拿!
2021年12月 VOL:20 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性12月上新 腾讯云容器服务公有版TKE 高可扩展和高性能容器管理服务 腾讯云容器服务(Tencent Kubernetes Engine,TKE)是高度可扩展的高性能容器管理服务,您可以在托管的云服务器实例集群上轻松运行应用程序。 CFS-CSI动态创建CFS实例时支持添加云标签 (详情可扫码了解) 最新播报 腾讯云开源首个etcd一站
腾讯云原生
2022/01/04
1.4K0
十月容器产品报 | 有奖调研(你要的代金券和公仔都有哦)
2020年10月 VOL:06 腾小云诚邀各位用户反馈 您的心声,我们在倾听~ 用户调研 腾讯云容器团队最新产品弹性容器服务 EKS 已全量开放,为广大客户提供安全、稳定、弹性、经济的无服务器 Kubernetes 服务,进一步降低客户将业务容器上云的门槛。 容器团队始终在持续优化产品功能特性,全方面支持客户拥抱云原生,希望为客户提供强大完善的产品功能和简单‍易用的使用体验,以及丰富的最佳实践及解决方案指导,诚邀各位客户反馈容器上云过程中遇到的问题,产品侧将认真倾听
腾讯云原生
2020/11/03
1K0
4月容器产品技术月报|五一快乐,留言有礼
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 2021年4月 VOL:12 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性 4月上新 腾讯云边缘服务TKE@Edge 从中心云管理边缘云资源的容器系统 边缘容器服务(Tencent Kubernetes Engine for Edge,简称 TKE Edge)是腾讯云容器服务推出的用于从中心云管理边缘云资源的容器系统。
腾讯云原生
2021/05/06
9040
12月容器月报 | 降低 65% 业务成本的弹性容器EKS「竞价实例」上线
2020年12月 VOL:08 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性 12月上新 腾讯云容器服务公有版TKE 高可扩展和高性能容器管理服务 腾讯云容器服务(Tencent Kubernetes Engine,TKE)是高度可扩展的高性能容器管理服务,您可以在托管的云服务器实例集群上轻松运行应用程序。 1. TKE 节点池全量上线, 支持包年包月计费模式。 2. 扩展组件上线 CBS-CSI 组件,支持: 静态数据卷/动
腾讯云原生
2021/01/04
2.3K0
【容器7月报】原生节点全新面世,超级节点全量发布
2022年7月 VOL:27 本月产品重要发布 TKE(腾讯云容器服务): 腾讯云容器服务(Tencent Kubernetes Engine ,TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务。 重磅全新上线【原生节点】 原生节点是TKE推出的全新节点类型,支持声明式API,搭载 FinOps 理念,通过 “可视化资源管理大盘”、“Request智能推荐”、“动态专有调度器”助力云上资源降本增效。 限时免费体验,后台留言【原生节点】联系小助手。 全
腾讯云原生
2022/08/26
1.7K0
【容器7月报】原生节点全新面世,超级节点全量发布
10月容器产品技术月报|2021 腾讯数字生态大会【云原生专场】重磅来袭
2021年10月 VOL:18 腾小云告诉你最前线的产品新特性, 总有一款让你心动~ 云说新品 容器产品新特性10月上新 腾讯云边缘服务TKE@Edge 从中心云管理边缘云资源的容器系统 边缘容器服务(Tencent Kubernetes Engine for Edge,简称 TKE Edge)是腾讯云容器服务推出的用于从中心云管理边缘云资源的容器系统。 TKE-Edge 正在支持 1.20 以上版本 kubernetes 集群,预计 11 月可以发布使用
腾讯云原生
2021/11/01
3.3K1
【容器8月报】降本增效产品化特性重磅发布,多项新功能开放体验中
TKE 集群 【新特性】上线 SecurityGroupPolicy 增强组件,支持为策略匹配的 Pod 绑定安全组,以控制 Pod 的出入站网络流量。 【新特性】对接 CAM OIDC IdP,支持业务 Pod 使用 Service Account Token 访问如 CVM、VPC 等云资源,同时确保身份验证的安全性。 TKE 原生节点 【新特性】上线 Pod 原地升降配能力,支持在不重启 Pod 的情况下直接修改 CPU、内存的 Request/limit 值,适用于流量突发、业务降本场景。 【新特
腾讯云原生
2022/09/09
5621
【容器8月报】降本增效产品化特性重磅发布,多项新功能开放体验中
推荐阅读
相关推荐
6月腾讯云容器产品技术月报|参与互动赢好礼!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档