保健励志美文体育育儿作文
投稿投诉
作文动态
热点娱乐
育儿情感
教程科技
体育养生
教案探索
美文旅游
财经日志
励志范文
论文时尚
保健游戏
护肤业界

盘点几个安卓逆向之常用加密算法

  作者:Python进阶者
  来源:Python爬虫与数据挖掘为什么要学习加密算法
  在搞逆向进行抓包的时候,可以经常发现一些莫名其妙的字符串,可能是81dc9bdb52d04dc20036dbd8313ed055等之类的一长串字符,这些是怎么生成呢?
  这些其实就是加密,加密算法主要分为两大类标准加密算法非标准加密算法
  标准加密算法在任何语言中的实现,结果都是一样的。
  是应该是一样的,也可能不一样,如果不一样,说明更改了标准算法的某些变量,但是这种情况比较少。
  非标准算法那就是自己写的了,这就具有很大的不确定性了,全靠程序员发挥!
  注意:在安卓逆向中,加密算法通常出现在Java层和C中!在Java层标准算法是有固定名字的,即使再混淆,固定名字是不能混淆的所以比较好处理!在C层标准加密算法是没有固定名字的,那就只能根据算法特征去识别了!常用标准算法有哪些?消息摘要算法(散列函数、哈希函数)MD5、SHA、MAC对称加密算法DES、3DES、AES非对称加密算法RSA数字签名算法MD5withRSA、SHA1withRSA、SHA256withRSA
  因为本次主要是安卓逆向,所以就将常用的标准加密算法使用Android来复现一下!我的环境AndroidStudio2020。3。1版本Jdk8版本项目
  CryptologyDemo。zipHex和Base64
  Hex和Base64不是加密,它是一种编码!!!
  Hex和Base64编码是加密算法中最常用的编码,任何加密算法最终都要选择它的表现形式,而Hex和Base64是最常用的!添加依赖apicom。squareup。okhttp3:okhttp:3。10。0
  记得点击SyncNow
  Hex
  Hex编码是一种用16个字符(09af)表示任意二进制数据的方法!
  它是一种编码,而非加密!
  Hex主要应用在MD5等加密表现形式上。代码从字符串到hexbyte〔〕byteszhangsan。getBytes(StandardCharsets。UTF8);ByteStringofByteString。of(bytes);Stringhexof。hex();Log。d(TAG,hex:hex);示例
  Base64
  Base64是一种用64个字符(AZaz09)表示任意二进制数据的方法。
  它是一种编码,而非加密。
  相比较之下,Base64应用就广泛的很多,像图片,,长密文甚至文件,都采用Base64,因为可承载的数据很多!代码从字符串到base64byte〔〕byteszhangsan。getBytes(StandardCharsets。UTF8);ByteStringofByteString。of(bytes);方式一Stringbase64of。base64();Log。d(TAG,base641:base64);方式二if(android。os。Build。VERSION。SDKINTandroid。os。Build。VERSIONCODES。O){StringsBase64。getEncoder()。encodeToString(zhangsan。getBytes(StandardCharsets。UTF8));byte〔〕encodeBase64。getEncoder()。encode(zhangsan。getBytes(StandardCharsets。UTF8));Log。d(TAG,base642:s);Log。d(TAG,base642:newString(encode));}方式三Stringsandroid。util。Base64。encodeToString(zhangsan。getBytes(StandardCharsets。UTF8),0);Log。d(TAG,base643:newString(s));示例
  消息摘要算法
  消息摘要算法最主要的特征!
  密文是不可逆的!就是说,我在客户端把密码通过md5加密了,服务端也得采用相同的方式加密,进行比较。
  不定长度输入,固定长度输出就是说,不管是123,还是123456。。。经过加密,加密的结果都是固定的长度!
  加密结果唯一!MD5
  这就是最常用的md5加密,在update时压入数据,通过digest获得加密结果,md5一般通过hex展示加密结果!MD系列算法
  算法摘要长度实现MD2128Java6MD5128Java6MD5128BouncyCastle代码md5publicstaticStringmd5(StringplainText)throwsException{MessageDigestmd5MessageDigest。getInstance(MD5);1。md5加密的数据可以直接放在digest中2。digest是加密之后的数据,但是有不可见字符,不要使用hex或base64来展示md5。update(plainText。getBytes(StandardCharsets。UTF8));byte〔〕digestmd5。digest();1。效果完全同上,update可以压入数据,区别是digest是一次性压入,update可以分批次压入byte〔〕digestmd5。digest(plainText。getBytes(StandardCharsets。UTF8));使用hex和base64来表示加密之后的数据,因为直接加密的有不可见字符ByteStringofByteString。of(digest);Stringhexof。hex();Stringbase64of。base64();returnhexbase64;}示例
  SHA
  常用的是sha1算法,所以本次演示的是sha1算法。
  sha1算法,甚至来说消息摘要算法基本上api都是通用的。
  只需要换一个algorithm即可,所以就不废话了。SHA系列算法
  算法摘要长度实现SHA1160Java6SHA256256Java6SHA384384Java6SHA512512Java6SHA224224BouncyCastle代码SHA1publicstaticStringsha1(StringplainText)throwsException{MessageDigestsha1MessageDigest。getInstance(SHA1);sha1。update(plainText。getBytes(StandardCharsets。UTF8));byte〔〕digestsha1。digest();ByteStringofByteString。of(digest);Stringhexof。hex();Stringbase64of。base64();returnhexbase64;}示例
  MAC
  mac这个名字听着挺牛逼的,其实就是比md5和sha算法多了个密钥而已,不必大惊小怪。MAC系列算法
  算法消息摘要实现HmacMD5128Java6HmacSHA1160Java6HmacSHA256256Java6HmacSHA384384Java6HmacSHA512512Java6HmacMD2128Java6HmacMD4128BouncyCastleHmacSHA224224BouncyCastle代码publicstaticStringmac(StringplainText)throwsException{生成密钥SecretKeySpechmacMD5newSecretKeySpec(123。getBytes(StandardCharsets。UTF8),HmacMD5);hmacMD5。getAlgorithm()表示获取算法,此时获取的就是HmacMD5MacinstanceMac。getInstance(hmacMD5。getAlgorithm());同上MacinstanceMac。getInstance(HmacMD5);初始化instance。init(hmacMD5);压入数据instance。update(plainText。getBytes(StandardCharsets。UTF8));byte〔〕doFinalinstance。doFinal();同上byte〔〕doFinalinstance。doFinal(plainText。getBytes(StandardCharsets。UTF8));ByteStringofByteString。of(doFinal);Stringhexof。hex();Stringbase64of。base64();returnhexbase64;}示例
  对称加密算法
  虽然md5也叫加密算法,但是他是无法解密的,但是对称加密算法是可以进行加密和解密的,这就nice很多了。
  因为加密和解密使用的密钥相同,所以叫做对称加密算法,那不同的,就是非对称咯!
  注意了啊,对称加密算法的密钥是可以随便给的,但是有长度要求的,不是乱给的,但是加密的内容无限制。
  各算法密钥长度RC4密钥长度1256字节DES密钥长度8字节3DESDESedeTripleDES密钥长度24字节AES密钥长度16,24,32字节
  根据密钥长度不同AES又分为AES128,AES192,AES256DES
  ECB和CBC模式主要区别在于CBC模式需要一个iv向量!DES算法
  ECB模式加解密代码DESECB加密Cipher
  publicstaticStringdesencryptECB(StringplainText)throwsException{
  生成des所需要的key
  SecretKeySpecdesKeynewSecretKeySpec(12345678。getBytes(StandardCharsets。UTF8),DES);
  默认工作模式就是ECB,填充模式PKCS5Padding,
  CipherinstanceCipher。getInstance(DES);
  也可以写全
  CipherinstanceCipher。getInstance(DESECBPKCS5Padding);
  初始化,指定是加密模式还是解密模式和密钥
  instance。init(Cipher。ENCRYPTMODE,desKey);
  关于Cipher的update似乎有些问题,所以用doFinal的多
  加密内容,返回结果
  byte〔〕doFinalinstance。doFinal(plainText。getBytes(StandardCharsets。UTF8));
  ByteStringofByteString。of(doFinal);
  Stringhexof。hex();
  Stringbase64of。base64();
  returnhexbase64;
  }
  DESECB解密
  publicstaticStringdesdecryptECB(byte〔〕cipherBytes)throwsException{
  生成des所需要的key
  SecretKeySpecdesKeynewSecretKeySpec(12345678。getBytes(StandardCharsets。UTF8),DES);
  CipherinstanceCipher。getInstance(DESECBPKCS5Padding);
  instance。init(Cipher。DECRYPTMODE,desKey);
  byte〔〕doFinalinstance。doFinal(cipherBytes);
  returnnewString(doFinal);
  }
  ECB
  StringdesencryptECPdesencryptECB(zhangsan);
  Log。d(TAG,des加密,ECP模式:desencryptECP);
  加密拿到的des加密,ECP模式base结果为:AtLfLL8jc1nuVm31GQvyw
  byte〔〕bytes1ByteString。decodeBase64(AtLfLL8jc1nuVm31GQvyw)。toByteArray();
  Strings1desdecryptECB(bytes1);
  Log。d(TAG,des解密,ECP模式:s1);
  示例
  CBC模式加解密
  CBC模式就比ECB多了个iv向量而已,其他用法一样。代码DESCBC,需要iv向量publicstaticStringdesencryptCBC(StringplainText)throwsException{SecretKeySpecdesKeynewSecretKeySpec(12345678。getBytes(StandardCharsets。UTF8),DES);CipherinstanceCipher。getInstance(DESCBCPKCS5Padding);CBC需要iv向量IvParameterSpecivParameterSpecnewIvParameterSpec(12345678。getBytes());初始化时添加上iv向量instance。init(Cipher。ENCRYPTMODE,desKey,ivParameterSpec);byte〔〕doFinalinstance。doFinal(plainText。getBytes(StandardCharsets。UTF8));ByteStringofByteString。of(doFinal);Stringhexof。hex();Stringbase64of。base64();returnhexbase64;}DESCBC解密publicstaticStringdesdecryptCBC(byte〔〕cipherBytes)throwsException{生成des所需要的keySecretKeySpecdesKeynewSecretKeySpec(12345678。getBytes(StandardCharsets。UTF8),DES);CipherinstanceCipher。getInstance(DESCBCPKCS5Padding);IvParameterSpecivParameterSpecnewIvParameterSpec(12345678。getBytes());instance。init(Cipher。DECRYPTMODE,desKey,ivParameterSpec);byte〔〕doFinalinstance。doFinal(cipherBytes);returnnewString(doFinal);}示例
  DESede(3DESTripleDES)
  DESede也分CBC和ECB,使用方法同上,这里将他们合二为一!DESede算法
  代码DESede
  publicstaticStringDESedeencrypt(StringplainText)throwsException{
  SecretKeySpecdesKeynewSecretKeySpec(123456781234567812345678。getBytes(),DESede);
  ECB模式
  CipherinstanceCipher。getInstance(DESedeECBPKCS5Padding);
  instance。init(Cipher。ENCRYPTMODE,desKey);
  byte〔〕doFinalinstance。doFinal(plainText。getBytes(StandardCharsets。UTF8));
  CBC模式需要iv向量
  CipherinstanceCipher。getInstance(DESedeCBCPKCS5Padding);
  IvParameterSpecivParameterSpecnewIvParameterSpec(12345678。getBytes());
  初始化时添加上iv向量
  instance。init(Cipher。ENCRYPTMODE,desKey,ivParameterSpec);
  byte〔〕doFinalinstance。doFinal(plainText。getBytes(StandardCharsets。UTF8));
  ByteStringofByteString。of(doFinal);
  Stringhexof。hex();
  Stringbase64of。base64();
  returnhexbase64;
  }
  DESede
  publicstaticStringDESededecrypt(byte〔〕cipherBytes)throwsException{
  生成des所需要的key
  SecretKeySpecdesKeynewSecretKeySpec(123456781234567812345678。getBytes(StandardCharsets。UTF8),DESede);
  ECB模式
  CipherinstanceCipher。getInstance(DESedeECBPKCS5Padding);
  instance。init(Cipher。DECRYPTMODE,desKey);
  byte〔〕doFinalinstance。doFinal(cipherBytes);
  CBC模式
  CipherinstanceCipher。getInstance(DESedeCBCPKCS5Padding);
  IvParameterSpecivParameterSpecnewIvParameterSpec(12345678。getBytes());
  instance。init(Cipher。DECRYPTMODE,desKey,ivParameterSpec);
  byte〔〕doFinalinstance。doFinal(cipherBytes);
  returnnewString(doFinal);
  }
  DESede
  StringdeSedeencryptDESedeencrypt(zhangsan);
  Log。d(TAG,DESede加密:deSedeencrypt);
  AtLfLL8jc1nuVm31GQvyw
  byte〔〕bytes3ByteString。decodeBase64(3M7YukhZweaysZBNnqYLBw)。toByteArray();
  Strings3DESededecrypt(bytes3);
  Log。d(TAG,DESede解密:s3);
  示例
  AES
  AES算法是对称加密算法中最常用的算法!
  AES也分CBC和ECB,这里也合二为一的!AES算法
  代码publicstaticStringAESencrypt(StringplainText)throwsException{
  SecretKeySpecsecretKeySpecnewSecretKeySpec(0123456789abcdef。getBytes(),AES);
  ECB模式
  CipherinstanceCipher。getInstance(AESECBPKCS5Padding);
  instance。init(Cipher。ENCRYPTMODE,secretKeySpec);
  byte〔〕doFinalinstance。doFinal(plainText。getBytes(StandardCharsets。UTF8));
  CBC模式需要iv向量
  CipherinstanceCipher。getInstance(DESedeCBCPKCS5Padding);
  IvParameterSpecivParameterSpecnewIvParameterSpec(12345678。getBytes());
  初始化时添加上iv向量
  instance。init(Cipher。ENCRYPTMODE,desKey,ivParameterSpec);
  byte〔〕doFinalinstance。doFinal(plainText。getBytes(StandardCharsets。UTF8));
  ByteStringofByteString。of(doFinal);
  Stringhexof。hex();
  Stringbase64of。base64();
  returnhexbase64;
  }
  publicstaticStringAESdecrypt(byte〔〕cipherBytes)throwsException{
  生成des所需要的key
  SecretKeySpecsecretKeySpecnewSecretKeySpec(0123456789abcdef。getBytes(),AES);
  ECB模式
  CipherinstanceCipher。getInstance(AESECBPKCS5Padding);
  instance。init(Cipher。DECRYPTMODE,secretKeySpec);
  byte〔〕doFinalinstance。doFinal(cipherBytes);
  CBC模式
  CipherinstanceCipher。getInstance(DESedeCBCPKCS5Padding);
  IvParameterSpecivParameterSpecnewIvParameterSpec(12345678。getBytes());
  instance。init(Cipher。DECRYPTMODE,desKey,ivParameterSpec);
  byte〔〕doFinalinstance。doFinal(cipherBytes);
  returnnewString(doFinal);
  }
  示例
  非堆成加密算法
  非堆成加密算法中,最常用最典型的加密算法就是RSA。原来说过,对称加密算法是因为加密解密用的是同一个密钥,但是非对称就不是了。
  它需要一堆,称为公钥和私钥,当然,密钥不是随便写的!
  在线密钥生成网站:http:web。chacuo。netnetrsakeypair公钥加密,私钥解密。私钥加密,公钥解密。一般公钥是公开的,私钥保密,私钥包含公钥。加密安全,但是性能差,加密长度有限制。RSA可以用于加密解密,也可以用来数据签名。Java中的私钥必须是pkcs8格式。RSARSA算法
  代码RSA
  解析公钥key并返回
  publicstaticPublicKeygeneratePublic(StringpublicKeyBase64)throwsException{
  byte〔〕bytesByteString。decodeBase64(publicKeyBase64)。toByteArray();
  X509EncodedKeySpecx509EncodedKeySpecnewX509EncodedKeySpec(bytes);
  KeyFactorykeyFactoryKeyFactory。getInstance(RSA);
  returnkeyFactory。generatePublic(x509EncodedKeySpec);
  }
  publicstaticPrivateKeygeneratePrivate(StringprivateKeyBase64)throwsException{
  byte〔〕bytesByteString。decodeBase64(privateKeyBase64)。toByteArray();
  PKCS8EncodedKeySpecpkcs8EncodedKeySpecnewPKCS8EncodedKeySpec(bytes);
  KeyFactorykeyFactoryKeyFactory。getInstance(RSA);
  returnkeyFactory。generatePrivate(pkcs8EncodedKeySpec);
  }
  RSA这里使用私钥解密
  publicstaticStringRSAPrivateDecrypt(byte〔〕cipherBytes)throwsException{
  StringBEGINPRIVATEKEYMIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMOVkFb2U8aOxLZr
  vRVq8vB1fp4GnLLmBhHg343Q5J69AVqbflgf9DRgzPzBUoauRQnvfsUBt
  6NXKv3t2bkkAkA4ulCqk6pxWZy03LyyADUtkBrDrTfGHqaw6vJSp0qjT56u563
  V0nOoUboUmjAIZRrzNEcwAKa7B1AgMBAAECgYB4oflDCemGkzOTys4PIpVRe3o
  i84fMNsD6yPyz1XlS5NlAuIg5qNI63yOCd6nR1dN26mntM8159dCUfNcY1W3F
  JaTvBZKD56fDUKQ5UfHhlrd4rVxWKKkuhdYe67Y6twrMzLTEOXmn7jdxuq2
  Au93oa2kxraM6pGJCQJBANPckCGRl26UraqzP3XwrVPqyGQUMb8y627MXwVJJ
  LsE3c9vuoDkm79rYN8jCXbxSkUbBpxopHYfdSxTDt8CQQDftlI8PZXDzJLlJAmm
  LynoC7OO52sdCPoqndJ04DDjo1rg6fcWaaIXFmOLWTn5HJt8pa4r7vi54DChZ7
  ju8rAkBUBUSVdGctyxk7k6mv4Y7Zh0J4PNjtr0SNTBzMNIP1cBDCshm655ecn
  dgJDKMx9tVV6hZqQ1JyUc7wLDtFrAkB1s6ZmvXw7jTnIR4KwJeZliSqKyGVJ3gSm
  WHH0rMv1l93MEG0JJMC8ZvIvKD3b6Azwng8A0q0HAAh1zmFgLAkEA0PahyHnX
  ZCzB5ic4QvkiKCqZSyibYXOGxBGyCXkuirCwqrtaEorrFxgNEssdpHcEmk71nv
  gvrL5QkvgcLvMA;
  PrivateKeyprivateKeygeneratePrivate(BEGINPRIVATEKEY);
  CipherinstanceCipher。getInstance(RSAECBPKCS1Padding);
  instance。init(Cipher。DECRYPTMODE,privateKey);
  byte〔〕doFinalinstance。doFinal(cipherBytes);
  returnnewString(doFinal);
  }
  RSA使用公钥加密
  publicstaticStringRSAPublicEncrypt(StringplainText)throwsException{
  StringBEGINPUBLICKEYMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDlZBW9lPGjsS2a70f1avPrw
  dX6eBpyy5gYR4NN0OSevQFam35YHQ0YMz8wVKGrkUJ737FAbejVyr97dm5J
  AJAOLpQqpOvqcVv2ctNy8sgA1LZAaw603xh6msOryUqdKo0eruet1dJzqFG6FJo
  gCGUa8zRHMACmuwdQIDAQAB;
  PublicKeypublicKeygeneratePublic(BEGINPUBLICKEY);
  CipherinstanceCipher。getInstance(RSAECBPKCS1Padding);
  instance。init(Cipher。ENCRYPTMODE,publicKey);
  byte〔〕doFinalinstance。doFinal(plainText。getBytes());
  ByteStringofByteString。of(doFinal);
  returnof。base64();
  }
  RSA
  加密
  StringrsaPublicEncryptRSAPublicEncrypt(zhangsan);
  Log。d(TAG,RSA加密:rsaPublicEncrypt);
  解密
  byte〔〕bytes5ByteString。decodeBase64(rsaPublicEncrypt)。toByteArray();
  StringrsaPrivateDecryptRSAPrivateDecrypt(bytes5);
  Log。d(TAG,RSA解密:rsaPrivateDecrypt);
  示例
  总结
  本文讲述的加密算法主要分为三大类,也是最常用的几个加密算法。消息摘要算法(MD5,SHA1,MAC)对称加密算法(DES,DESede,AES)非堆成加密算法(RSA)
  经过比较发现,在Java中加密算法有几大特点通过MessageDigest类生成的算法有MD5,SHA1通过Mac类生成的算法有MAC通过Cipher生成的算法有DES,DESede,AES,RSA
  嗯,似乎你不太懂什么意思,意思就是可以通过类反推算法。
  这样就可以完成自吐算法了,什么算法直接都一把梭哈了,后面再讲!
  如果在操作过程中有任何问题,记得下面留言,我们看到会第一时间解决问题。
  越努力,越幸运。
  我是码农星期八,如果觉得还不错,记得动手点赞一下哈。
  感谢你的观看。
  本教程只用于学习探讨,不允许任何人使用技术进行违法操作!

布格拉汗很期待自己首球的到来球队取得胜利更高兴了北京时间6月5日19:00,2022年中超联赛第一轮比赛继续进行,北京国安迎战沧州雄狮。上半场布格拉汗反击破门,下半场张呈栋染红,阿德本罗送点,奥斯卡破门,补时阶段于大宝扳回一……瓜迪奥拉与曼城老板曼苏尔于当地时间周六会面,讨论新赛季计划直播吧6月5日讯当地时间周六,曼城主帅瓜迪奥拉与俱乐部老板曼苏尔会面,讨论下赛季(2223赛季)的计划。曼苏尔本人在2122赛季球队拿下英超冠军后曾向俱乐部工作团队、球员……618囤货行动,电视冰洗空调,有哪些值得入手的品牌型号?大家好,我是梦想是个猪,今天为大家带来的是618大家电推荐。又到618,估计很多朋友都在蹲自己心仪好物的好价格,不要慌,我这里给大家着重推荐几款不管是装修搬新家还是旧房改……信念900字作文信念是光,心之所向。题记人生没了信念是走不下去的,纵使万千的人或事都打不垮你,可一旦信念倒下,一切都是无稽之谈,平淡如水。曾几时何,我们在苍白的字里行间中寻找……如何挑选智能马桶?模范生云米Nano2智能增压马桶给出答案智能马桶和普通马桶的区别就提现在智能两个字上。顾名思义,就是增加了很多普通马桶没有的智能功能,比如如臀部清净、自动除臭等。但还是有很多小白朋友们不知如何挑选智能马桶,作为智能马……父母为孩子挑选优质的玩伴,可有效防止孩子沉迷游戏孩子沉迷游戏最是令家长头疼!上午遇见儿子同学的妈妈,不自觉中聊起孩子,互相问了问孩子的家庭作业有没做完。儿子同学的妈妈说道:哪做作业,一天到晚在家玩游戏,还把……做蛋糕作文600字昨天下午,我的朋友邀请我和她一起去做蛋糕。等了好久,才轮到我们做蛋糕,等待一点也不无聊,在店里随便乱看了一下,有一个厨房,里面放满了搅拌的东西、挤奶油的袋子,还有碗。老师……巴金的哲理名言1。生命的意义在于付出,在于给予,而不在于接受,也在在于索取。巴金2。人生如同日记,每人都想记下自己的经历。当他把记好的日记和誓言进行比较时,心情是何等谦卑啊!巴3……神舟十四号载人飞船发射取得圆满成功新华社记者李刚摄新华社酒泉6月5日电(记者李砺寒、张瑞杰)据中国载人航天工程办公室消息,北京时间2022年6月5日10时44分,搭载神舟十四号载人飞船的长征二号F遥十四运……140W,多快充协议,通用性超强的快充头IDMIXP140体充电器是目前越来越重要的一个生活必须品了,充电器的功率以及种类也越来越多,如何选择一个好的,适合自己的充电器。是一个比较重要的话题,我个人使用typc的数码产品比较多,手机,笔……6。18第二波促销6月6日开启,入手索尼微单镜头正是好时机今年6。18的第一波促销活动已经过去了,第二波将从6月6日零时开启,不少小伙伴觉得,今年这个6。18活动促销力度比往年大啊。现在,很多小伙伴都入手了自己心仪的单反和微单,……宝宝多大可以吃大人饭菜?建议新手爸妈辅食这样喂,更健康宝宝的饮食是父母重点关注的问题,这不仅影响到孩子的生长发育,还影响着孩子的健康成长。只是,面对逐渐长大的宝宝,很多妈妈会有这样困惑,宝宝到底什么时候才能吃大人的饭菜的呢?……
曝关晓彤鹿晗结婚在即结婚场面能超越黄晓明baby的世纪婚礼吗黄晓明的婚礼为什么叫世纪婚礼?10月8日,在上海,黄晓明送给baby一场童话般的梦幻婚礼。这场婚礼因为极其豪华的布置和庞大的明星到来,堪称史无前例。但整个婚礼现场,……2017年山东临沂中考满分作文借你一双慧眼借你一双慧眼,你能不能捉住心灵闪过的微光?你能不能抓住微光闪现的瞬间?你能不能跟随微光创造奇迹?一个寒冷的夜晚,你或许正沉醉在甜蜜的梦乡,但是有一个人却在深思:他会画画,但此刻……关于尽孝的亲情作文不要让父母在希望中等待,不要让那颗苍老的心孤独的死去。赶快尽自己的一份孝心。下面是小编收集的关于尽孝的亲情作文,欢迎阅读。关于尽孝的亲情作文:孝亲敬老从古至今,人们……疑似iPhone14系列前面板曝光,Pro版本搭载感叹号挖孔伴随着时间来到五月,有关iPhone14系列手机的相关爆料也来到了关键阶段。结合往年信息来看,iPhone14系列手机的方案应该已经敲定并寻求量产,而后续爆料的真实性也将大大提……特斯拉二年的真实使用感受和成本总结最近几天看到网上很多评价特斯拉负面消息,还有很多不切实际的使用成本分析,作为一个真实车主,我想给大家说说我的使用感受和使用实际支出成本,目前我的车子已经使用一年10个月,行驶里……我的发现作文250字8篇导语:在生活中,我们常常会发现一些有趣的现象,把你发现的描写下来吧,下面是小编为大家整理的我的发现作文,欢迎大家阅读。【篇一:我的发现作文】神奇的大自然,千姿百态,奥妙无……中秋节赏月的作文400字集合5篇在日常学习、工作或生活中,许多人都有过写作文的经历,对作文都不陌生吧,写作文是培养人们的观察力、联想力、想象力、思考力和记忆力的重要手段。作文的注意事项有许多,你确定会写吗?以……风起陇西被陈坤连累扑街?有人说,是不是每个下凡演电视剧的电影咖,都会出师不利?比如章子怡,比如汤唯,比如陈坤。虽然但是,陈坤并不是纯粹的电影演员,他早期拍过很多电视剧,让他名声大噪的,也都……王俊凯新剧开播,网友我只看脸王俊凯和张译的最新的剧《重生之门》近几日开播。讲真的,TFBOYS三兄弟,易烊千玺在影视剧中非常亮眼,给王俊凯的压力确实不小。如果王俊凯只是一个没有多大名气的演员,大家更……蘑菇伞的二年级作文蘑菇伞的二年级作文1一天早上,小白兔花花想去森林里玩。出门前妈妈关心地对花花嘱咐:一定要小心,注意安全,孩子!花花听了妈妈的话就出发了。到了森林里,花花看见小草绿油……风起陇西中的剧抛脸演员,认出了王骁和俞灏明,却没认出赵峥由陈坤和白宇领衔主演的电视剧《风起陇西》播出后,观众反响强烈。环环相扣的剧情不仅极具吸引力,还会为你带来沉浸式的追剧体验。尽管网上有一些质疑的声音,但整体感觉还是不……给近一年来演技最好8位男演员排个名,胡军第8,雷佳音第3近一年来,国产好剧迎来井喷。优秀的主旋律作品,层出不穷,《觉醒年代》《大决战》《理想照耀中国》《功勋》让人目不暇接。一些籍籍无名的宝藏演员,凭借对历史人物的精准扮演……
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网