tbs生产日期怎么 看?XG643MF??
2010年6月的
TBS的东东,淘宝小店,专卖,100%好评,店主:SWOLL,欢迎您
楼主好。
在TBS被欧莱雅收购之前:
前面的字母为生产年份,
A为2005年,B为2006,C2007,D2008,E2009,G2010
拿“G051FA”这个批号举例,
051就是一年三百六十五天中的第51天,
也就是相当于2月下旬这样。
FA是生产流水线号。
被收购之后:
产品批号有所改变,被换成欧莱雅统一的标准,
X为欧莱雅分配给tbs公司的代码,无特别意义。
X后一个字母代表年份,与上面所说的TBS之前的年份代表相同,比如09年还是E ,10年还是G。
再后面一位是月份 1~10月是O,11月N,12月D,
再往后的两位数字是生产日期。
最后两位字母依旧是流水线号,无实际意义。
比如“XEN01PA”,就是说被欧莱雅收购后、2009年11月1号生产的。
* 不同产品改换新的编码方式时间不同,比如明星产品VE最早被改用为新的生产日期编码方式,而至今护发系列大多还在延用老的标注方式。
希望对你有所帮助。
基本信息:
中文名称
O-(叔丁基二甲基硅基)-N-甲苯磺酰基羟胺
英文名称
N-[tert-butyl(dimethyl)silyl]oxy-4-methylbenzenesulfonamide
英文别名
TsNHOTBDMSN-(tert-butyldimethylsilyloxy)-4-methylbenzenesulfonamideO-(tert-Butyldimethylsilyl)-N-(toluenesulfonyl)hydroxylamineTsNHOTBSN-(t-butyldimethylsilyloxy)-4-methylbenzenesulfonamideO-TBS-N-tosylhydroxylamineO-(tert-butyldimethylsilyl)-N-tosylhydroxylamine
CAS号
1028432-04-3
合成路线:
1.通过叔丁基二甲基氯硅烷和对甲苯磺酰氯合成O-(叔丁基二甲基硅基)-N-甲苯磺酰基羟胺,收率约67%;
2.通过O-(叔丁基二甲基硅烷)羟胺和对甲苯磺酰氯合成O-(叔丁基二甲基硅基)-N-甲苯磺酰基羟胺
更多路线和参考文献可参考http://baike.molbase.cn/cidian/1601270
中文名称
5-溴-1-(叔丁基二甲基硅基)-1H-吲哚
中文别名
5-溴-1-TBDMS-1H-吲哚5-溴-1-叔丁基二甲基硅氧基-1H-吲哚
英文名称
(5-bromoindol-1-yl)-tert-butyl-dimethylsilane
英文别名
N-TBS-5-bromoindole5-bromo-1-(tert-butyl-dimethyl-silanyl)-1H-indole5-Bromo-1-TBDMS-1H-indole5-bromo-1-(tert-butyldimethylsilyl)-1H-indole1H-Indole,5-bromo-1-[(1,1-dimethylethyl)dimethylsilyl]
CAS号
331432-91-8
英国海关编码(HS-code):2933998090
概述(Summary):2933998090.
Heterocyclic
compounds
with
nitrogen
hetero-atom(s)
only.
General
tariff:.
这是淘布斯国际物流的单号
如图所示,淘布斯国际物流官网查询可知,目前快件状态为:中国海关清关放行
若是访问的 http://www.baidu.com 则返回302重定向到https
1.服务端处于LISTEN(收听)状态
2.首次客户端发送 SYN=1 初始随机序号seq=0(x),客户端进入SYN-SENT(同步已发送)状态
3.服务端同意建立连接,返回SYN=1 ACK=1 确认号ack=x+1 初始随机序号seq=0(y),进入SYN-RCVD(同步收到)状态
4.客户端收到接受的确认之后,再次向服务端发送确认,发送ACK=1 确认号ack=y+1,自己的序号seq=x+1,客户端进入进入ESTABLISHED状态,服务的收到确认后,进入ESTABLISHED状态。
Note:如果没有客户端的确认报文,为二次握手,则服务端发送确认报文后,就会建立新的链接,此时客户端的连接请求因为网络节点长时间滞后(在链路释放后的时间点到达服务端),则服务端再次发送一次确认,客户端不理睬,也不会发送数据,服务端建立新的链接,服务端一直等待接受数据,消耗服务端资源。
客户端发送client hello ,携带版本信息与random数(后续对称加密使用),并在Cipher Suites中提供了所有可用的加密协议。Session id length=0表示新的会话,服务端后续会返回一个Session Ticket
服务端返回ACK确认报文,seq=1(表示数据流从1开始,数据长度为0,此处表示服务端没有发送数据)ack=518(接受了客户端发送的517字节的数据,客户端下个数据流从518位开始)
服务端收到client hello,返回server hello,携带使用的tls版本信息、random数(后续对称加密使用)以及加密协议
seq=1,len=68(表示数据流从1开始,发送68长度数据),ack=518(接受了客户端发送的517字节的数据,客户端下个数据流从518位开始),certificate发送同理。
Server Key Exchange: 不是必须的,根据服务器选择的加密算法决定,这里是TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256(目前主流),即证书只用于证明服务器身份,Server Key Exchange发送Pb和椭圆曲线名(如图为secp256r1)
Note:如果Server端需要验证Client端的身份,则需在发送Hello Done前发起Certificate Request,Client端就会类似Server端一样,发送证书以及Client公钥(一般Client端的证书与公钥主要通过U盾模式提供,用于安全要求较高的网银等场景)
Client Exchange 客户端发送DH算法中的Pa(由于不验证Client端身份,所以Client不需要传递Signature)。双方通过pa和pb生成预主密钥由于对称加密(AES128的GCM模式)(或者根据server hello算法选择为TLS_RSA_WITH....发送第三个随机数,有证书里的公钥加密,随机名为pre-master key,这里抓取的网站都是TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)
Change Cipher Spec代表Client已经完成了全部协商,接下来的数据包将使用TLS进行封装传输。
服务器端答复New Session Ticket,Change Cipher Spec Protocol
Session Ticket用于TLS中断后重新接续Session
Change Cipher Spec 代表Server端告知Client接下来的报文将使用TLS加密进行传输
浏览器获取证书后,会从该上级ca的证书中获取公钥,通过公钥解密服务器证书的签名signtrue,获取签名的摘要信息,另外算出证书信息tbs_certificate(不带签名的证书信息)的摘要信息,将两个摘要信息进行对比,如果相同,则该证书确实是上级ca颁发,现在一般都是证书链形式,存在多个级别的ca,每个级别ca负责验证下级证书。
end-user :如baidu.com 包含用来加密传输数据的公钥的证书,是HTTPS中使用的证书
intermediates:CA用来认证公钥持有者身份的证书,即确认HTTPS使用的end-user证书属于baidu.com的证书。这类intermediates证书甚至可以有很多级。
root:用来认证inermediates证书是合法证书的证书。
CA的组织结构是一个树结构,一个root CAs下面包含多个intermediates CAs,intermediates又可以包含多个intermediates CAs。root CAs 和 intermediates CAs都可以颁发证书给用户,颁发的证书分别是root Certificates和intermediates Certificates,最终用户用来认证公钥的证书则被称为end-user Certificates。
如果intermediates certificates的私钥泄露了,或者intermediates certificates签发的证书变得不可信,只会影响到intermediates certificates签发的证书,而不会影响到其他intermediates certificates下签发的证书,如果都是root签发的证书,其私钥泄露或者变得不可信,签发的所有证书将都会受到影响。
使用python手动验证百度的数字证书:
import hashlib
from cryptography import x509
from cryptography.hazmat.primitives import serialization
import rsa
# 读取二级证书pem格式数据
with open("rsaenc/rsa1.0/root2.pem","rb") as f:
ca_bytes = f.read()
# 实例x509对象
ca2 = x509.load_pem_x509_certificate(ca_bytes)
# 返回证书公钥对象
ca2_pb = ca2.public_key()
# Encoding枚举成员PEM
enum_enc = serialization.Encoding.PEM
# PublicFormat枚举成员PKCS1
enum_format = serialization.PublicFormat.PKCS1
# 序列化公钥
ca2_pb_bytes = ca2_pb.public_bytes(enum_enc,enum_format)
with open("rsaenc/rsa1.0/baidu.pem","rb") as f:
ca_bytes = f.read()
cert = x509.load_pem_x509_certificate(ca_bytes)
# 获取签名值
signature = cert.signature
signature_int = rsa.transform.bytes2int(signature)
# 反序列化公钥
pb = rsa.PublicKey.load_pkcs1(ca2_pb_bytes)
# 用公钥解密返回大整数
text = rsa.core.decrypt_int(signature_int,pb.e,pb.n)
# 将大整数转化为十六进制
text = hex(text)
# 3031300d060960864801650304020105000420为摘要算法OID,
# PKCS1v15的填充方式,OID+加密值组合
text = text.split("3031300d060960864801650304020105000420")[1]
# 获取证书的信息(除签名信息)
tbs_certificate = cert.tbs_certificate_bytes
# 获取证书的sha256的散列值
dgst = hashlib.sha256(tbs_certificate).hexdigest()
print(text == dgst)
x.509标准规定了证书可以包含什么信息,并说明了记录信息的方法。
X.509结构中包括版本号(integer)、序列号(integer)、签名算法(object)、颁布者(set)、有效期(utc_time)、主体(set)、主体公钥(bit_string)、主体公钥算法(object)、签名值(bit_string)。
使用ASN.1描述,我们可以将其抽象为以下结构
Certificate::=SEQUENCE{
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING
}
TBSCertificate::=SEQUENCE{
version [0] EXPLICIT Version DEFAULT v1,
serialNumberCertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validityValidity,
subject Name,
subjectPublicKeyInfoSubjectPublicKeyInfo,
issuerUniqueID[1] IMPLICIT UniqueIdentifier OPTIONAL,
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
extensions[3] EXPLICIT Extensions OPTIONAL
}
`
而本次实验,我选择使用从chrome上直接下载证书,此时我们可以看到,证书结构如下:
类 结构 信息 备注
TBSCertificate 版本信息 证书的使用版本 整数格式,0-V1,1-V2,2-V3
TBSCertificate 序列号 每个证书都有一个唯一的证书序列号 整数格式
TBSCertificate 签名算法 得到签名时使用的算法 有OID与之对应
TBSCertificate 颁发者 命名命规则一般采用X.500格式 Name
TBSCertificate 有效期 通用的证书一般采用UTC时间格式,计时范围为1950-2049 Format:yymmddhhmssZ
TBSCertificate 使用者 使用证书的主体 Name
TBSCertificate 主体密钥 证书所有人的公开密钥
Certificate 公钥签名算法 证书公钥的加密算法 有OID与之对应
Certificate 签名值 得到的签名结果
二、 数据结构
【编码方法】
X509的编码方法为TLV结构,使用T记录当前数据的类型(type),使用L记录当前数据的长度(length),使用V记录当前数据的取值(value),其中,不同的type值对应不同的数据类型
Type 数据类型 编码格式
01 Boolean 01;01;FF/00
02 Integer 长度大于7f时,长度n与0x80进行“位或”运算的结果赋给length的第一个字节
03 Bit string 填充0成为8的倍数,Value的第一个字节记录填充数
04 Ectet string 04;len;val
05 Null value部分为空,一共两字节
06 Object Identifier V1.V2.V3.V4.V5....Vn (1)计算40*V1+V2作为第一字节;(2)将Vi(i>=3)表示为128进制,每一个128进制位作为一个字节,再将除最后一个字节外的所有字节的最高位置1;(3)依次排列,就得到了value部分
19 ASCII string 13;len;val
23 UTCtime yymmddhhmssZ
24 Generalize time yyyymmddhhmssZ
48 Sequence constructer 序列内所有项目的编码的依次排列
49 Set constructer 集合内所有项目的编码
160 Tag 对于简单类型,type=80+tag序号;对于构造类型,type=A0+tag序号。length和value不变
【数据结构】
类的声明:均使用string类型记录数据,数据具体的内容已经在注释中标出
指汽车在制动过程中能实时判定车轮的运动状态。自动调节作用在车轮上的制动力矩,防止车轮抱死从而获得最佳制动效能的电子系统装置,它能把车轮的滑动率控制在一定的范围内,充分地利用轮胎与路面之间的随着力,有效的缩短制动距离显著地提高车辆制动时可操纵性。
汽车tbs技术原理
TBS的应用对提高汽车安全性和制动效率有重大影响,TBS系统也成为汽车安全性的标准配置,然而目前的TBS结构复杂成本较高功能单一,本实用新型的目的是提供一种商用车制动电控系统以及封装盒,它具有结构简单可靠实用和制动高效稳定的优点。
本实用新型是这样来实现的一种商用车制动电控系统,其特征在于它至少包括MCU控制中心模块以及分别与MCU控制中心模块电连接的轮速信号采集模块,调节阀驱动模块K线通讯诊断模块指示灯模块CAN线通讯模块和ASR阀驱动模块,MCU控制中心模块调节阀驱动模块和ASR阀驱动模块分别与双路电源模块供电连接。
首先下载软件,然后在点播地址栏输入sop这一行地址:
tbs(里面叫mbs)
sop://221.130.198.26:3920/1707
富士
sop://221.130.198.26:3920/1708
ntv
sop://221.130.198.26:3920/1718
ex
sop://221.130.198.26:3920/1709
或者下载一个软件keyholetv,可以同步在线观看日本电视台,软件语言是日文或者英文,缺点是画面不清晰、有时音画不同步。
还有一个办法是用tv007网络电视,日本tbs电视台在线网址:http://www.tv007.com/tv/4739.html
(请按照提示,先安装sopcast插件)