openssl genrsa 命令详解
文章目录
- 一、openssl genrsa 命令介绍
- 二、openssl genrsa 命令的语法及选项
- 三、实例
- 1、生成512位的 RSA 秘钥,输出到屏幕。
- 2、生成512位 RSA 私钥,输出到指定的文件 genrsa.txt
- 3、生成 1024 位 RSA 秘钥,采用 des 算法加密,加密密码为 123456
- 4、生成 2048 位 RAS 秘钥,采用 des3 算法加密
- 参考
一、openssl genrsa 命令介绍
openssl genrsa 命令是会用来生成 RSA 私有秘钥,不会生成公钥,因为公钥提取自私钥。生成时是可以指定私钥长度和密码保护。
如果需要查看公钥或生成公钥,可以使用 openssl rsa 命令。
通过 man openssl 命令,可以看到 genrsa 命令的介绍:
genrsa Generation of RSA Private Key. Superceded by genpkey.
二、openssl genrsa 命令的语法及选项
语法:
openssl genrsa [-out filename] [-passout arg] [-f4] [-3] [-rand file(s)] [-engine id] [numbits] [-des] [-des3] [-idea]
查看 openssl genrsa 命令的选项:
[root ~]# openssl genrsa ?
usage: genrsa [args] [numbits]-des encrypt the generated key with DES in cbc mode-des3 encrypt the generated key with DES in ede cbc mode (168 bit key)-idea encrypt the generated key with IDEA in cbc mode-seedencrypt PEM output with cbc seed-aes128, -aes192, -aes256encrypt PEM output with cbc aes-camellia128, -camellia192, -camellia256encrypt PEM output with cbc camellia-out file output the key to 'file-passout arg output file pass phrase source-f4 use F4 (0x10001) for the E value-3 use 3 for the E value-engine e use engine e, possibly a hardware device.-rand file:file:...load the file (or the files in the directory) intothe random number generator
使用 man genrsa 查看详细用法:
[root ~]# man genrsa
GENRSA(1) OpenSSL GENRSA(1)NAMEgenrsa - generate an RSA private keySYNOPSISopenssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4] [-3] [-rand file(s)] [-engine id] [numbits]DESCRIPTIONThe genrsa command generates an RSA private key.OPTIONS-out filenamethe output filename. If this argument is not specified then standard output is used.-passout argthe output file password source. For more information about the format of arg see the PASS PHRASE ARGUMENTS section in openssl(1).-des|-des3|-ideaThese options encrypt the private key with the DES, triple DES, or the IDEA ciphers respectively before outputting it. If none ofthese options is specified no encryption is used. If encryption is used a pass phrase is prompted for if it is not supplied via the-passout argument.-F4|-3the public exponent to use, either 65537 or 3. The default is 65537.-rand file(s)a file or files containing random data used to seed the random number generator, or an EGD socket (see RAND_egd(3)). Multiple filescan be specified separated by a OS-dependent character. The separator is ; for MS-Windows, , for OpenVMS, and : for all others.-engine idspecifying an engine (by its unique id string) will cause genrsa to attempt to obtain a functional reference to the specified engine,thus initialising it if needed. The engine will then be set as the default for all available algorithms.numbitsthe size of the private key to generate in bits. This must be the last option specified. The default is 512.NOTESRSA private key generation essentially involves the generation of two prime numbers. When generating a private key various symbols willbe output to indicate the progress of the generation. A . represents each number which has passed an initial sieve test, + means a numberhas passed a single round of the Miller-Rabin primality test. A newline means that the number has passed all the prime tests (the actualnumber depends on the key size).Because key generation is a random process the time taken to generate a key may vary somewhat.BUGSA quirk of the prime generation algorithm is that it cannot generate small primes. Therefore the number of bits should not be less that64. For typical private keys this will not matter because for security reasons they will be much larger (typically 1024 bits).SEE ALSOgendsa(1)1.0.1e 2013-02-11 GENRSA(1)
-
-out filename :将生成的私钥保存至filename文件,若未指定输出文件,则为标准输出。
-
-numbits :指定要生成的私钥的长度(单位 bit),默认为1024。该项必须为命令行的最后一项参数。
-
-des|-des3|-idea:指定加密私钥文件用的算法,这样每次使用私钥文件都将输入密码,太麻烦所以很少使用。
-
-passout args :加密私钥文件时,传递密码的格式,如果要加密私钥文件时单未指定该项,则提示输入密码。传递密码的args的格式见openssl密码格式。
例如:使用idea算法对私钥文件进行密码保护。
[root ~]# openssl genrsa -idea -passout pass:123 -out rsa_pri.pem Generating RSA private key, 1024 bit long modulus ..............++++++ .....++++++ e is 65537 (0x10001) -
-F4 / -3 : 指数,默认是 65537,例如上例输出的最后一句话,e is 65537(0x10001)
[root ~]# openssl genrsa -3 -out rsa_pri.pem 2000 Generating RSA private key, 2000 bit long modulus ..+++ ...................+++ e is 3 (0x3)
三、实例
1、生成512位的 RSA 秘钥,输出到屏幕。
[root ~]# openssl genrsa 512
Generating RSA private key, 512 bit long modulus
.++++++++++++
............++++++++++++
e is 65537 (0x10001)
-----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBANTZudAiqSAV7yJBo/7XMVF7cktFi6bcEAk79EObzboR7k4sCOYu
tl3Fn6/BLUzAnTaYTozpIxfILYnz/9Dx/rMCAwEAAQJAPDUiNFe5k1PhAsWih/GD
B9NtbxFLAXX6K0KEQ6OMu/bWZ7Q40xwPQWL+cerIeNE1xjI1qKnxTRpW+C6uigSo
sQIhAO1pyZCkP0XY/PH4Jmjetd8d2beUUUWhA9pFRGkMahwnAiEA5YOniZV4bKjg
4Aa+Vcs7kI+sARIsgr+2pyPL6n+pBJUCIEjrQgaT+/8XC3HCVwHEzbWOtI0nF+M7
9jP3LHDbaEfnAiA/rYpjMtRJmYViwpw2Y3+wORxo46jz0csUjmr6MdcsDQIhAM30
zGSj4rrTHVWz73v8af2ITHYufLKYClNN
2、生成512位 RSA 私钥,输出到指定的文件 genrsa.txt
[root ~]# openssl genrsa -out genrsa.txt 512
Generating RSA private key, 512 bit long modulus
..............++++++++++++
.................++++++++++++
e is 65537 (0x10001)
[root ~]# cat genrsa.txt
-----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBAKUwGTXGWqvOx2Vp2gMczQCyscerZTqrPYxKcxm4+18aw2JwCNwj
CPwtM6la8c97KPxCS0EefMu89PXTKyM9i7sCAwEAAQJAB3+idVV2wjvVw13FvsRs
7e4usdCu/LXPSnIKvY0vJAcBTRDvNo/RTpF3/UcexlInhhmhwFceyje3wqYA1sre
mQIhANc8XRtuFfvOm65mrko89VS60GpWEO1WG01bxIOum0VdAiEAxHktqkSScOCS
l1pUMLLiQrj0mhngHVPbI2WWOkZzK/cCIBSK51wJ2sFIy+UOWc4uGUA4AFJV2pG8
aSit/IiQ7rLlAiBTPJdpHFYCNlJEhwNGAnMzG1KderrlEeK0M1Sa6b/fbwIhAMjp
Q6lcPnCkz5/nIlTlpv14NRqa+/YLBPD8uuFLyWtF
-----END RSA PRIVATE KEY-----
3、生成 1024 位 RSA 秘钥,采用 des 算法加密,加密密码为 123456
如果指定des算法,没有在命令中携带密码,则会提示用户输入密码
[root@nginx ~]# openssl genrsa -des -passout pass:"123456" -out prikey.pem 1024
Generating RSA private key, 1024 bit long modulus
....++++++
..........++++++
e is 65537 (0x10001)
# 从输出可以看出,秘钥长度是 1024 bit。(从 OpenSSL 1.0.1e 开始,默认秘钥长度为 1024 bit。)
# 我们也可以设定自己所需的秘钥长度,秘钥长度越长越安全,
# 但使用秘钥进行加密解密时所耗费的时间也会越长。
# 非对称秘钥提高安全性的同时也带来了算法所耗费的大量时间,非对称秘钥不对大块数据进行加密,
# 应用领域是数字签名,秘钥分发等小数据加密。[root@nginx ~]# ll prikey.pem
-rw-r--r--. 1 root root 958 May 26 14:26 prikey.pem[root@nginx ~]# cat prikey.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-CBC,C632EA92B103B8F8i9OuC7U5YCK+8PTlnNOs4G5ShvpEkGLv7sEkZXb5UYWQhmG5eJHv8MjGP6sNvDbH
1c36LmWhTlosaney9zgw3SLUOYwhcj/ocCULtVYHBC+oqmQzlLn0pj3JHunTxdF8
OAjJlwL16OKzArfCXDXWfqs4kmpZnPb0B7RgVPRwTAOnJ54BS0B1t4ytua8xfxtS
fCE/PBSPywzC9EZdd9TEQ3GwRjim37RSwPHqW28Tb6Inq9IXGcwVqkvTk2F5N3NT
By7Z/hIh2bBOjYj44X5G1qw0fZXP/6muD/w8KHjNlrancPiNs6oTUHAzDS0xK90y
gJ9XTdxEQLwwd3MLQZ3AVuIr/Iazk6juj7vMJ6bfzblSJDuqubopM/QiLS2LI5Uz
yLvFSwdezTjq0RylqYNlWCnCYj+HtZ8oeuusqN7gAnFr/rDCvSPvqveS7QuW4JAG
P6su1rAL0Uamv8fjq01W9865wctx/a60zMGM8go1H8l1g7nvaRgalQPDZLNQhUog
A4mqh8jiXEBLnA81cL7f0yDBlPkYM7SvuPYtUAtA9RXxw66+IHSYu6Vr+nhOplZw
h7V08d78KZG8Bghx0YXqPL57qvTFRu9sJJmvN5NWPh+sMxTsTLsFll8psB4mZ4EU
iMU3TiGn3pHaunmHzY+ibKSqNfOtAKpbIVhSqLKkkV6DlHBKjw1iQ2GqKRm0ilBo
7yRxVG1Ldy+cVEkKTE3hHVLP2BCdoXV8dmUimjH8F+B/voi9rYfDwqXNqnXum6kN
+WmN86LJr75jTiHSs8OswunvBfedsVhsuRppBqCgsBlG5lEcLuSylg==
-----END RSA PRIVATE KEY-----
一般情况下,能用的选项是: -out 或 numbits。
根据私钥生成公钥:
还有一种形式会先生成证书,证书中含有公钥,参见 TLS/SSL双向认证
[root ~]# openssl rsa -in prikey.pem -out pubkey.pem -pubout
Enter pass phrase for prikey.pem: 123456
writing RSA key[root ~]# ll pubkey.pem
-rw-r--r--. 1 root root 272 May 26 14:36 pubkey.pem[root ~]# cat pubkey.pem
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCHNF9c7EE35RmZRdze2G55i3R
6Kvxvh/NC2IlEXfOrCttwlxfrJkaPvKr98Jn0KAFTp+em6X3nDzX1oOH/tkSS4ql
h4+oTHNzT0aS3sLRnqBnALgge0M7ePIxfyhyC4npdPIpj6jsII5OCCVn1CVD3GZy
QfDwhh2I+lKh5BDopQIDAQAB
-----END PUBLIC KEY-----
4、生成 2048 位 RAS 秘钥,采用 des3 算法加密
也是需要密码的,步骤中存在提示输入密码环节
[root ~]# openssl genrsa -des3 -out private_server.key 2048
Generating RSA private key, 2048 bit long modulus
.......................................................................................................................+++
.......................................+++
e is 65537 (0x10001)
Enter pass phrase for private_server.key:123456
Verifying - Enter pass phrase for private_server.key:123456[root ~]# ll private_server.key
-rw-r--r--. 1 root root 1743 May 26 14:29 private_server.key[root ~]# cat private_server.key
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,75141B9977BB10C1zsI6SDzNbsfnn8C8VYNxRXNuW3It4aZmhc1b/gslTIq1JifMlG8456k6EN2nBFIH
AqZeIdf8qgK3F65yPqTxxXX7T1SKYyN6EP15VAFnXQqDlFJrSXYNSUhYiILr+8lH
qLJZwnnciTDOK5ERz17RPM+RZHVDkW4ER2Mrmf+OENDgbsL8l4GbCB5L4IXYvGIs
v0d3kcnWpPOIqhYWWQqfMtkXsbbSZAKx3IAmmgIHUFWt/V8TVb5hBs2HrJz2zJkl
TdL8K9LHsztI5pBWsh8MyVMBgwl5Uh/th9lfSJON4D1IobHup9K8c8mueF+Zzj7c
fiW4ZEbsKt2891ihIpTRsDIDPvSs35BMXD6X11fipMhQj7KFbLZo//Kno7yuCvZw
aIEP6t6flYdsw8MiH0wd+3IkGxFuN9SNesRJkQJLahjOkvaG9so08AC49skWAjnF
HrhRMT537nVwp4UHaRAKgyJv4fC2lUVqTQ04bPx8ddxPB/I+7KvOkTAVW9Fod+dd
+1EyEI56ZAmLtiZcZ0ZKPUL/BSEndGF4jdUgMcX1mW1qN8iQtKVBlcddUWLjPyb6
B3kKo2R1XHn4FsywPTXu8jk5MyQePrsjHW/bPASHPXU4TRVPwqgDnz4jUiKuYcnG
9EZ0zwTYsKFA1cU2pQNbF8y26/ud4WQSdY8dXi8yl2x/LsVyDwhY3gihk6R2NiA1
GBMs1yDqjj6ir0mnmdGVMn4oqjPDzvOHouGeYPj+6vHcltqJXhEsNpzhr2nJru88
UiUNLuemkxaJ5OA2ek0nKv1qnY/KB0d/X1DX/xFTZo9vS8Wtz8WDhF61rKCTfm/s
ehpa9vCDr33n8OApJteQRnXcs25mO5tfuLGyq/59y2AT17Nu9EAE+K3FUpcZKro3
oImv57MKU5eQMvb2JYyVUOv/sMtAtNwU7mjKM7lG8Zr240zFaiNnILRYsbLq4ae8
d8c4AExXhOPj1HMyLBnh9Gh605BOd6nZt7H45s2HqXc7k8POpo3xS80/4Tc4uMOA
UoXabgvR46+XUsVeFgz37aTdzZdmpm9VUxMbUkP9N9Ut6M5erqvv83UURgpoF6X8
+pK/JoAVgerQz92fsy0K6giHqYqchO24PijwcMdc5WZi0ghBbbe3iuOpyjj/I/af
qIi/Edbru0LW3AlPsU9kzUvpg/PHnO4Gcwt+LP5Kfropxh6OW08/ArMBP9+jtKlQ
kZbMKxS/FoyvQrDhqa8/AgI/kWnj6v+7cq/uBFRsbP5L1Ps5dEqhlCDgM6CS5C/O
N+gsS56sfCwLDtXD9CjQSiJ0758VdTFkpg1P64vU1SZEgUdgw1KRnWh8G9PlgLux
tZnnv09kFTlcmx/Y5b7FIXeicOStWIqQrWy8ux4rwm3MgSlq1MxSblMmu9o6Um5c
HJEoWNCtnSNU7OmSbGq9czZZ+eolFDieMQBf9M+UtyXq+PIn07Jb3rUmcrj5/Uh2
uT4IFox4xzzNeS1T/vxMvPwRxgo3CLRhatEYTu1GtwyuHCFNJmYlKnqU/19w+GIQ
HXV/X2jcCi78EKC/aEicQQ7PDpzydzn9vS3bhyVhnLl3IIrb1F89ng==
-----END RSA PRIVATE KEY-----
参考
openssl genrsa 命令详解
相关文章:
openssl genrsa 命令详解
文章目录一、openssl genrsa 命令介绍二、openssl genrsa 命令的语法及选项三、实例1、生成512位的 RSA 秘钥,输出到屏幕。2、生成512位 RSA 私钥,输出到指定的文件 genrsa.txt3、生成 1024 位 RSA 秘钥,采用 des 算法加密,加密密…...
C语言标准 —— C89(C90)、C99、C11、C17、C2X
C语言主要的三个标准:C89(C90)、C99、C11、K&R C 指的是 C 语言的原始版本。1978年,C 语言的发明者丹尼斯里奇(Dennis Ritchie)和布莱恩柯林(Brian Kernighan)合写了一本…...
基于Java+Dubbo设计的智能公交查询系统
一、项目背景 随着经济的飞速发展,人们的生活质量有了较大的提高,城市居民的出行变得越来越频繁,城市交通也面临越来越多的挑战。城市公共交通具有客流量大、成本低、效率高、节约资源等优势,因此,如何大力发展公交产业,鼓励人们乘坐公交出行,进而改善交通状况,是一个值得思考…...
go语言的并发编程
并发编程是 Go语言的一个重要特性,而 go语言也是基于此而设计出来的。 本文将会介绍如何使用go-gc中的“runtime”方法实现 go语言中的并发编程。 在之前的文章中,我们已经对 runtime方法进行了详细介绍,这次文章将对 runtime方法进行深入分析,并讲解如何在go-gc中使用该方…...
亚马逊要求UL94防火测试阻燃测试标准及项目
UL94认证是什么?分几个等级?是如何表示各等级?带电的产品上架亚马逊都需要相关的UL报告,需要有ISO 17025资质的实验室出具的测试报告才能正常销售和恢复链接,UL94防火测试则是其中一项。UL94试验共有五种:1.B级的水平燃烧试验2.…...
ClickHouse 合并树表引擎 MergeTree 原理分析
目录 前言 MergeTree 存储 MergeTree思想 MergeTree存储结构 MergeTree查询 索引检索 数据Sampling 数据扫描 建表 数据存储...
用YOLOv8推荐的Roboflow工具来训练自己的数据集
YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本,相较于之前的版本,YOLOv8可以更快速有效地识别和定位图像中的物体,以及更准确地分类它们。 作为一种深度学习技术,YOLOv8需要大量的训练数据来实现最佳性能。…...
三层交换机【实验】
目录 1、要求: 2、拓扑: 3、创建vlan和端口定义并划入vlan: 4、创建以太网中继Eth-Trunk使sw1和sw2的相互冗余并且不浪费链路: 5、使用mstp定义组和对应的根: 6、配置网关冗余: 7、核心层的路由的IP配…...
Anolis 8.6 部署 Kafka 3.3.1 安装和测试(二)
动态初始化Kafka消费者实例一.Kafka 环境搭建二.动态初始化消费者1.Topic定义2.方法处理器工厂3.参数解析器(Copy SpringBoot 源码)4.消费接口和消费实现5.动态初始化1.关键类简介2.动态初始化实现一.Kafka 环境搭建 参考:Kafka搭建和测试 …...
sed和awk
文章目录1、sed的简单介绍2、sed的使用方法2.1 命令行格式2.2 案例2.3 sed结合正则使用2.4 脚本格式3、awk的简单介绍4、awk的使用方法4.1 命令行模式4.2 脚本模式5、awk内部相关变量5.1 案例6、awk工作原理7、awk进阶使用8、awk脚本编程8.1 案例1、sed的简单介绍 sed是流编辑…...
使用STM32 CUBE IDE配置STM32F7 用DMA传输多通道ADC数据
我的使用环境: 硬件:STM32F767ZGT6、串口1、ADC1、16MHz晶振、216MHz主频 软件:STM32 CUBE IDE 优点:不用定时触发采样,ADC数据是不停的实时更新,ADC数据的更新频率根据采样时钟和采样周期决定,…...
linux 学习(持续更新)
一:初识linux 新装操作环境: mac intel电脑 CentOS系统版本:CentOS-8.1.1911 在这里解释一下[chenllocalhost /]$这句话的含义: chenl是用户名,也就是你自己起的名字。 是分割的符号 localhost是主机名,也…...
Nacos【一】Nacos集群部署配置
系列文章目录 暂无 文章目录系列文章目录前言一、Nacos集群架构1.ip直连2. SLB3. 域名-SLB二、集群部署准备2.1 机器准备2.2 Nginx安装配置1.安装2.负载均衡配置2.3 nacos安装配置1.nacos节点2. MySQL准备1.Docker安装MySQL2. nacos对应数据库初始化三、 集群启动1.失败原因汇…...
“亚洲一号”也能上市?REITs背后的物流设施风起云涌
京东最近发生了两件大事,两件都与物流基础设施有关。 一件是2月8日,嘉实京东仓储物流封闭式基础设施证券投资基金(简称“京东仓储REIT”)正式登陆上交所,投资者获得了机会,去分享京东三处物流园区的收益&a…...
2023养老展,CBIAIE第十届中国北京国际老年产业博览会
8月招商季,第十届中国(北京)国际老年产业博览会再次盛大举办; CBIAIE北京国际老年产业博览会位域优势: ——北京,中国首都,世界一线城市,地处中国北部、华北平原北部,东…...
【Android -- 每日一问】现在 Android 怎么学?学什么?
不管在任何行业,任何岗位,初级技术人才总是供大于求;不管任何行业、岗位,技术过硬的也都是非常吃香的! 这几年 Android 新技术的迭代明显加速了,有来自外部跨平台新物种的冲击,有去 Java 化的商…...
JVM垃圾回收
概述 Java是支持自动垃圾回收的,有些语言不支持自动垃圾回收(C)自动垃圾回收不是Java的首创 垃圾是什么? 在 JVM 中垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 哪些区域需要回收…...
clickhouse集群安装
单机安装 yum install yum-utilsrpm --import https://repo.clickhouse.com/CLICKHOUSE-KEY.GPGyum-config-manager --add-repo https://repo.clickhouse.com/rpm/clickhouse.reposudo yum install clickhouse-server clickhouse-client 配置文件 vim /etc/clickhouse-serve…...
Zookeeper入门
Zookeeper入门概述特点结构应用场景选举机制节点信息监听原理写数据原理分布式锁概述 Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。 Zookeeper 从设计模式的角度来开:是一个基于观察者模式设计的分布式服务管理框架…...
JavaScript
BOM核心对象docunmentBOM核心对象windowBOM包含着DOMF12即可打开浏览器控制台navigator(浏览器版本)、history(浏览器历史记录),location(地址信息)、screen(屏幕相关)JS输出形式:浏览器输出:wi…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
