你好,请问完全自sha幼儿园成长手册小鸟,你好能发我一份吗?谢谢

前面一篇中我们分析了SHA256的原理,并且实现了该算法,在这一篇中我们将进一步分析SHA512并实现之。
1、SHA简述
尽管在前面的篇章中我们介绍过SHA算法,但出于阐述的完整性我依然要简单的说明一下SHA算法。SHA主要有SHA-1、SHA-224、SHA-256、SHA-384以及SHA-512。各种SHA算法的数据比较如下表,其中的长度单位均为位:
从上表中我们不难发现,SHA-224和SHA-256、SHA-384和SHA-512在消息长度、分组长度、计算字长以及计算步骤各方面分别都是一致的。事实上通常认为SHA-224是SHA-256的缩减版,而SHA-384是SHA-512的缩减版。在前面的篇章中,我们已经实现了SHA-224和SHA-256,在这一篇中我们将讨论SHA-384和SHA-512算法并实现之。
2、消息的填充与解析
在这里我们讨论的散列函数用于在计算机中将根据作为输入消息或者数据文件生成其对应的信息摘要。消息或数据文件通常被作为是位字符串。消息的长度是消息中的比特数(空消息的长度为0)。如果消息中的比特数是8的倍数,那么我们就可以用十六进制来表示消息的紧凑性。消息填充的目的是为了在消息填充后,在SHA-384和SHA-512中消息的长度是1024位的整数倍。
接下来我们说明消息或者数据文件将如何实现填充。总的来说就是,先添加一个“1”,再后跟多个“0”,然后再追加一个128位的消息长度信息,使得填充完成后的消息长度正好是1024位的整数倍。追加的128位的消息长度信息是原始消息的位长,填充完成的消息会被分成1024位的消息分组。
对于SHA-384和SHA-512来说消息的最大长度L&2128,在对消息进行散列运算之前也需要对消息做相应的填充处理。SHA-384和SHA-512的消息填充过程与SHA-224和SHA-256的填充过程是基本一致的。
首先,也是在原始消息后填充一个“1”,例如:如果原始信息是"",完成这一填充之后就是 ""。
接下来,填充K个“0”,所不同的是消息分组的长度是1024位,所以K的取值必须是满足下述表达式的最小非负整数值。
( L + 1 + K ) mod 1024 = 896
最后,在填充完必的消息后,追加128位的原始消息长度,因为消息的长度不会超过2128位,所以其长度数据的值不会超过128位,这也是为什么上一步中需要取模余896的原因。填充完毕后,所有的消息分组都将是一个1024位。
3、迭代函数与常数
SHA算法这类散列算法的计算过程都需要用到逻辑函数和计算常量。但由于具体算法的不同所使用的具体的函数和常数略有差别。我们在前面的篇章中说过MD5和SHA1,它们都有4个逻辑函数,而在SHA2的一系列算法中都采用了6个逻辑函数。接下来将说明这些逻辑函数和常量。
SHA-384和SHA-512也都有6个迭代函数,但是每个函数操作64位的输入字(x、y、z),输出也是一个新的 64 位字。这些逻辑函数表示如下:
CH( x, y, z) = (x AND y) XOR ( (NOT x) AND z)
MAJ( x, y, z) = (x AND y) XOR (x AND z) XOR (y AND z)
BSIG0(x) = ROTR^28(x) XOR ROTR^34(x) XOR ROTR^39(x)
BSIG1(x) = ROTR^14(x) XOR ROTR^18(x) XOR ROTR^41(x)
SSIG0(x) = ROTR^1(x) XOR ROTR^8(x) XOR SHR^7(x)
SSIG1(x) = ROTR^19(x) XOR ROTR^61(x) XOR SHR^6(x)
SHA-384和SHA-512采用相同的,80个64位的常数序列。通常记为:K0、K1、……、K79,这些常数的取值是前80个质数的立方根的小数部分的前64位。这些数以16进制表示如下:
428a2f98d728ae22 ef65cd b5c0fbcfec4d3b2f e9b5dba58189dbbc
8b538 59f111f1b605d019 923f82a4af194f9b ab1c5ed5da6d8118
d807aa98a35b0145706fbe ee4b28c 550c7dc3d5ffb4e2
72be5d74f27b896f 80deb1fe3bbdc06a725c74cf692694
e49b69c19ef14ad2 efbee3 0fc19dc68b8cd5b5 240ca1cc77ac9c65
2de92c6f592b4aa6ea6e483 5cb0a9dcbd41fbd4 76f988da
983e5152ee66dfab a831c66d2db4c898fb213f bf597fc7beef0ee4
c6e00bf33da88fc2 d5a5 06caf e6e70
27b70a8546d22ffc 2e1b 4d2c6dfc5ac42aed b3df
650a73548baf63de 766a0abb3c77b2a8 81c2c92e47edaee6 353b
a2bfe8a14cf1bbcb8b70d0f8a30654be30
d192e819d6ef f40ea 106aa07032bbd1b8
19a4c116b8d2d0c8 1e376c 2748774cdf8eeb99 34b0bcb5e19b48a8
391c0cb3c5c95a63 4ed8aa4ae3418acb 5b9cca4fe6ff3d6b2b8a3
748f82ee5defb2fc 78af60 84cab72 8cc9ec
90befffa06cebde82bde9 bef9a3f7b2c6f2e372532b
ca273eceea26619c d186b8c721c0c207 eada7dd6cde0eb1e f57d4f7fee6ed178
06f067aa72176fba 0a637dc5a2c898a6 113f9804bef90dae 1b710bb
28db77f 32caab7b40cebe0a15c9bebc 431d67c49c100d4c
4cc5d4becb3e42b6 597f299cfc657e2a 5fcb6fab3ad6faec 6c817
4、计算过程
前面,我们已经介绍了消息的预处理及散列逻辑函数,接下来我们将说明摘要的计算过程。
每个安全散列函数的输出,在应用到一个分为N个分组的消息后,结果记为散列量H(N)。对于SHA-384和SHA-512,它可以被认为是8个64位的字,记为:H(i)0、H(i)1、…、H(i)7。
散列字被初始化为一个特定的值,并在处理完每一个消息分组后对它进行更新,并在处理最后一个块后将其连接起来以产生输出。对于SHA-512,所有的H(N)变量都是串联的,而SHA-384散列值是通过最后连接时,省略一些而产生的。
与前面类似,对于SHA-384,初始化散列值有下述8个64为的16进制数组成。这些数由第9到16个质数平方根的小数部分的前64位得到。
H(0)0 = cbbb9d5dc1059ed8
H(0)1 = 629a292a367cd507
H(0)2 = 0dd17
H(0)3 = 152fecd8f70e5939
H(0)4 = ffc00b31
H(0)5 = 8eb44a
H(0)6 = db0c2e0d64f98fa7
H(0)7 = 47b5481dbefa4fa4
对于SHA-384,初始化散列值有下述8个64为的16进制数组成。这些数由前8个质数平方根的小数部分的前64位得到。
H(0)0 = 6a09e667f3bcc908
H(0)1 = bb67ae8584caa73b
H(0)2 = 3c6ef372fe94f82b
H(0)3 = a54ff53a5f1d36f1
H(0)4 = 510e527fade682d1
H(0)5 = 9be6c1f
H(0)6 = 1f83d9abfb41bd6b
H(0)7 = 5be0cd
SHA-384和SHA-512对消息分组执行相同的处理,只在初始化H(0)和如何生成最终输出的过程中有所不同。SHA-384和SHA-5126可以用来散列处理长度为L位的消息,其中0 & L& = 2128。算法使用一个80个64位字的消息列表, 8个工作变量64位以及8个64位字的散列值。
消息列表每32位分为一个子分组,被标记为W0、W1、…、W79。8个工作变量分别为a、b、c、d、e、f、g和h,8个散列值被标记为h(i)0、h(i)1、…、H(i)7,并保留初始散列值H(0),替换为每一个连续的中间散列值(在处理完每个消息分组后)H(i),并在处理完所有N块后,以最终的散列值H(N)结束。
从前面我们知道,填充完了之后消息被分为了1024位的消息分组。每个分组被分为16个64位的子分组,记为:M(i)0、M(i)1、...、M(i)15。将对N个消息分组进行如下操作。
a、准备消息列表
For t = 0 to 15
Wt = M(i)t
For t = 16 to 79
Wt = SSIG1(W(t-2)) + W(t-7) + SSIG0(W(t-15)) + W(t-16)
b、初始化工作变量
a = H(i-1)0
b = H(i-1)1
c = H(i-1)2
d = H(i-1)3
e = H(i-1)4
f = H(i-1)5
g = H(i-1)6
h = H(i-1)7
c、执行散列计算
For t = 0 to 79
T1 = h + BSIG1(e) + CH(e,f,g) + Kt + Wt
T2 = BSIG0(a) + MAJ(a,b,c)
e = d + T1
a = T1 + T2
d、计算最终结果
H(i)0 = a + H(i-1)0
H(i)1 = b + H(i-1)1
H(i)2 = c + H(i-1)2
H(i)3 = d + H(i-1)3
H(i)4 = e + H(i-1)4
H(i)5 = f + H(i-1)5
H(i)6 = g + H(i-1)6
H(i)7 = h + H(i-1)7
所有消息分组顺序完成上述计算过程后,还会计算最终的输出结果。对于SHA-12来说,,是所有H(N)0、H(N)1到H(N)7的串联。对于SHA-384,则是H(N)0、H(N)1直到H(N)5的串联。
5、代码实现
前面我们已经说明了SHA-512(SHA-384)的计算过程,接下来我们将这一过程代码化。同样的首先定义一个上下文的结构。
1 /** 定义SHA-512哈希操作的内容信息结构体 */
2 typedef struct SHA512Context {
3 #ifdef USE_32BIT_ONLY
uint32_t Intermediate_Hash[SHA512HashSize/<span style="color: #]; /* 信息摘要 */
uint32_t Length[<span style="color: #];
/* 按位计算的信息摘要的长度 */
8 #else /* !USE_32BIT_ONLY */
<span style="color: #
uint64_t Intermediate_Hash[SHA512HashSize/<span style="color: #]; /* 信息摘要 */
<span style="color: #
uint64_t Length_H
/* 按位计算的信息摘要的长度 */
<span style="color: #
uint64_t Length_L
/* 按位计算的信息摘要的长度 */
<span style="color: #
<span style="color: # #endif /* USE_32BIT_ONLY */
<span style="color: #
<span style="color: #
int_least16_t Message_Block_I
/* 信息分组数组的索引 */
<span style="color: #
uint8_t Message_Block[SHA512_Message_Block_Size];/* 1024位信息分组 */
<span style="color: #
/* 摘要计算标识*/
<span style="color: #
/* 信息摘要损坏标识 */
<span style="color: # } SHA512C
接下来实现SHA512Context结构的初始化,为后续的计算过程做准备。
1 #ifdef USE_32BIT_ONLY
2 static SHAStatusCode SHA384_512Reset(SHA512Context *context,uint32_t H0[SHA512HashSize/<span style="color: #])
3 #else /* !USE_32BIT_ONLY */
4 static SHAStatusCode SHA384_512Reset(SHA512Context *context,uint64_t H0[SHA512HashSize/<span style="color: #])
5 #endif /* USE_32BIT_ONLY */
if (!context) return shaN
<span style="color: #
<span style="color: #
context-&Message_Block_Index = <span style="color: #;
<span style="color: #
<span style="color: # #ifdef USE_32BIT_ONLY
<span style="color: #
<span style="color: #
context-&Length[<span style="color: #] = context-&Length[<span style="color: #] =
<span style="color: #
context-&Length[<span style="color: #] = context-&Length[<span style="color: #] = <span style="color: #;
<span style="color: #
for (i = <span style="color: #; i & SHA512HashSize/<span style="color: #; i++)
<span style="color: #
context-&Intermediate_Hash[i] = H0[i];
<span style="color: #
<span style="color: # #else /* !USE_32BIT_ONLY */
<span style="color: #
<span style="color: #
context-&Length_High = context-&Length_Low = <span style="color: #;
<span style="color: #
for (i = <span style="color: #; i & SHA512HashSize/<span style="color: #; i++)
<span style="color: #
context-&Intermediate_Hash[i] = H0[i];
<span style="color: #
<span style="color: # #endif /* USE_32BIT_ONLY */
<span style="color: #
<span style="color: #
context-&Computed = <span style="color: #;
<span style="color: #
context-&Corrupted = shaS
<span style="color: #
<span style="color: #
return shaS
<span style="color: # }
接下来实现信息分组的输入,这个函数接受一个字节数组作为下一个消息分组以便进行处理。
1 SHAStatusCode SHA512Input(SHA512Context *context,const uint8_t *message_array,unsigned int length)
if (!context) return shaN
if (!length) return shaS
if (!message_array) return shaN
if (context-&Computed) return context-&Corrupted = shaStateE
if (context-&Corrupted) return context-&C
while (length--)
<span style="color: #
<span style="color: #
context-&Message_Block[context-&Message_Block_Index++] =*message_
<span style="color: #
<span style="color: #
if ((SHA384_512AddLength(context, <span style="color: #) == shaSuccess) &&
<span style="color: #
(context-&Message_Block_Index == SHA512_Message_Block_Size))
<span style="color: #
SHA384_512ProcessMessageBlock(context);
<span style="color: #
message_array++;
<span style="color: #
<span style="color: #
return context-&C
<span style="color: # }
当然还需要一个消息处理及最终摘要输出的函数,这个函数将返回一个384位或者512位的信息摘要到调用者给定的Message_Digest数组。返回的信息摘要,第一个元素索引为0,最后一个元素索引为47(SHA-384)或者63(SHA-512)。
1 static SHAStatusCode SHA384_512ResultN(SHA512Context *context,uint8_t Message_Digest[ ], int HashSize)
5 #ifdef USE_32BIT_ONLY
7 #endif /* USE_32BIT_ONLY */
if (!context) return shaN
<span style="color: #
if (!Message_Digest) return shaN
<span style="color: #
if (context-&Corrupted) return context-&C
<span style="color: #
if (!context-&Computed)
<span style="color: #
<span style="color: #
SHA384_512Finalize(context, <span style="color: #x80);
<span style="color: #
<span style="color: # #ifdef USE_32BIT_ONLY
<span style="color: #
for (i = i2 = <span style="color: #; i & HashS ) {
<span style="color: #
Message_Digest[i++]=(uint8_t)(context-&Intermediate_Hash[i2]&&<span style="color: #);
<span style="color: #
Message_Digest[i++]=(uint8_t)(context-&Intermediate_Hash[i2]&&<span style="color: #);
<span style="color: #
Message_Digest[i++]=(uint8_t)(context-&Intermediate_Hash[i2]&&<span style="color: #);
<span style="color: #
Message_Digest[i++]=(uint8_t)(context-&Intermediate_Hash[i2++]);
<span style="color: #
Message_Digest[i++]=(uint8_t)(context-&Intermediate_Hash[i2]&&<span style="color: #);
<span style="color: #
Message_Digest[i++]=(uint8_t)(context-&Intermediate_Hash[i2]&&<span style="color: #);
<span style="color: #
Message_Digest[i++]=(uint8_t)(context-&Intermediate_Hash[i2]&&<span style="color: #);
<span style="color: #
Message_Digest[i++]=(uint8_t)(context-&Intermediate_Hash[i2++]);
<span style="color: #
<span style="color: #
<span style="color: # #else /* !USE_32BIT_ONLY */
<span style="color: #
for (i = <span style="color: #; i & HashS ++i)
<span style="color: #
Message_Digest[i] = (uint8_t)(context-&Intermediate_Hash[i&&<span style="color: #] && <span style="color: # * ( <span style="color: # - ( i % <span style="color: # ) ));
<span style="color: # #endif /* USE_32BIT_ONLY */
<span style="color: #
<span style="color: #
return shaS
<span style="color: # }
至此,我们就完成了SHA-512(SHA-384)的编码,在后续我们将对这一编码进行验证。
上一节我们实现了SHA-512(SHA-384)的编码,接下来我们来对这一实现进行验证。我们输入明文“abcd”并输出结果:
同样,我们也采用其他工具生成同一信息输入(“abcd”)的SHA-512信息摘要如下:
我们对比上述两项的输出结果,很显然是完全一致的,这说明我们的SHA-512的编码实现是正确的。
欢迎关注:
阅读(...) 评论()穷游大洋洲
更多疑问请点击这里哦
出境游尽在穷游App
千万旅行者的选择
IOS/Android扫码下载
你好,可以给我发地图吗?你的游记很好,很有用,谢谢!sha..cn
来自帖子《》
你好,可以给我发地图吗?你的游记很好,很有用,谢谢!sha..cn
&#58910; 1165人浏览
&#58904; 1 个回答
&#58883; 1 人关注
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
https://www.baidu.com/s?wd=Sina Visitor System你好!!不要左不要右不要后,一直往前走。。这是一句歌词,我记得是何琴在一个少儿节目里唱的,我想请_百度知道
你好!!不要左不要右不要后,一直往前走。。这是一句歌词,我记得是何琴在一个少儿节目里唱的,我想请
有谁还记得这首歌的歌名是什麼?谢谢!...
有谁还记得这首歌的歌名是什麼?谢谢!
&#xe6b9;答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
共康精锐张老师知道合伙人
共康精锐张老师
采纳数:45
获赞数:89
幸福快车,好久之前的歌了
匿名用户知道合伙人
幸福快车---孙悦你看你不开心不快乐还皱起眉头你对我诉说着遇上了难解决的问题没什么大不了生活中谁都会难免出错别泄气和我一起开开这辆幸福的快车跟我走 Sha La La La La Sha La La抬起你的头Sha La La La La Sha La La挥挥你的手Sha La La La La Sha La La年轻你的心Sha La La La La Sha La La La幸福的快车一天天一年年时时刻我们都要努力快快乐轻轻松心里想要认真去做做不要左不要右不要后一直向前走不要怨不要悲好的运气一定会陪伴你跟我走 Sha La La La La Sha La La抬起你的头Sha La La La La Sha La La挥挥你的手Sha La La La La Sha La La年轻你的心Sha La La La La Sha La La La幸福的快车一天天一年年时时刻我们都要努力快快乐轻轻松心里想要认真去做做不要左不要右不要后一直向前走不要怨不要悲好的运气一定会陪伴你跟我走 Sha La La La La Sha La La抬起你的头Sha La La La La Sha La La挥挥你的手Sha La La La La Sha La La年轻你的心Sha La La La La Sha La La La幸福的快车
本回答被网友采纳
小乖乖心微凉知道合伙人
小乖乖心微凉
采纳数:248
获赞数:778
擅长:暂未定制
亲,你要的是不是:孙悦——幸福快车
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。&&&&&话题页
回应/阅读:9/111
【也绿】火影之熊猫你好我是你掉的黑眼圈儿
Q:是个什么样的作品呢?A:?当然是我爱罗bg啊。Q:哦哦,是什么文向呢?A:高甜!活脱!日常!Q:OK,开坑后有什么遗言吗?A:???虽然有点奇怪但还是有的。小公(sha)主(bi)单相思未来风影的日子!姐妹们都OK了吗?狗子张嘴吃狗(熊)(猫)粮!//日常更新慢可以去晋江找哦,晋江我更新较快~//em百田的话就期待文满上架了~
TA们刚刚顶过
15:05:06.0
“我爱你。” & & “不客气。”“你看我们谈笑风生。”“感情不深。”
&第一话:任务与对象&看到今天领取任务的地方再次被忍者们围得水泄不通的我爱罗嘴角微微抽搐。&怎么?这次是绝食还是闹上吊?&&离砂忍村不算太远的地方,有个最近几十年才兴起的小国家,名为“暗之国”。按我爱罗的想法,说白了就是因为常年处于沙漠中,皮肤被晒得黝黑的一群人组织了一个小国家,然后又从中选了个皮肤最黑的人当了头儿,然后一帮小弟问:“哎呀老大,我们的国家该叫什么呀。”头儿扫视了他们一眼,选了个霸气又恰当的名字:“叫‘暗之国’好啦。”说罢,露出他那口在阳光下刺眼的白牙。&当然,这种事只能在脑子里想想,表面上,他还是那个令人敬畏的怪物我爱罗。&心口不一其实是我爱罗最大的小秘密,这不废话吗,你以为一张面瘫脸真的那么好维持,刚开始的竭力维持,到现在的习惯性面瘫,我爱罗觉得自己好痛苦。那些让人哭笑不得的事情,我爱罗也很想笑,好吧,他得憋着。刚开始憋着的时候,说句大实话,他憋得身体有些抽搐。&好在他天生适应能力强,不就就适应了。&但他也不能憋死啊,于是就开始心口不一。&表面上平静冷酷凶残又无情,其实他内心吐槽能力特别强。&比方说他偶然被组织点名召见,要去干什么事的时候,他就一边淡定地听长老们在他面前逼逼,一边看着从头到脚被纱布包裹得严严实实的长老们内心吐槽,妈的智障,就是嫉妒我天生服白貌美还晒不黑。&不管怎么晒,他全身上下也就只有眼圈是黑的。虽说我爱罗也想过自己如果皮肤和眼圈一样黑的样子,他脑补了一会就觉得皮服白是件大好事。&现在我们再来说说心口一致的人。&暗之国大名的女儿,一个傲娇的小公举。&暗之国送到砂忍村的任务委托有相当一部分与之有关。&冈村慧哲,一个典型的公举形象。显赫的身世,强大的背景,充满了父母希望的名字,有点小傲娇的性格,以及一张有点资本,可以小小得瑟一下的脸蛋儿。&所以说公举什么的完全不重要,摘去公主的噱头,她也只是个平凡的小丫头。&她就是这么的平易近人。&冈村公举有个好爸爸,为了保护自家女儿,常有那么三四个忍者在她身边。一来护着女儿,二来也可以让女儿受受忍者精神的熏陶好变得强大,坚韧,不屈。&冈村的性格证明了这个好爸爸做得很对。她确实变得自信强大坚韧不屈。&而这种坚韧与不屈在冈村与这个好爸爸作对中被发挥到了极致。&绝了。&好爸爸现在很草心。小公举想当小忍者了。&他痛苦捂脸想象着小淑女好爸爸的梦想破灭。蜷缩着身体在地上滚来滚去。&冈村慧哲的第N次绝食又开始了。尽管到最后冈村慧哲都会唆使身边的小忍者去厨房里偷点吃的。但是这个好爸爸都会写委托让砂忍村的忍者们接任务。&于是总有忍者前脚刚到后脚就完成任务领钱回去了。说白了他们到这只要做一件事就是给冈村慧哲从厨房里端碗吃的来。&所以自然有很多忍者去抢有关冈村公主的任务,轻松简单,奖金丰厚,何乐而不为呢?&然而这次的冈村任务很不一样。奖金更丰厚。&小公举离家出走了,已有半月未归。&我爱罗看了一眼任务单其实心里就一个想法:看来冈村这次钱带的很充足。&想法归想法。那任务单上丰厚的奖金还是让我爱罗小小心动了一下的。更何况他也想见识一下这个冈村慧哲到底是个怎样的人。&于是,他拿了任务道:“这个,接了。”&他面无表情地让忍者登记,内心得瑟:来呀来呀,不服来打呀。&当然没有忍者敢打他了。&走出忍村去找冈村的我爱罗还在无所事事的脑补,如果他生在水源充足的忍村……他会不会叫:瀑布·我爱罗。&有个奇怪的姓氏他也很无奈呀。
15:14:40.0
“我爱你。” & & “不客气。”“你看我们谈笑风生。”“感情不深。”
第二话:男装与大佬刚走出砂忍村不久的我爱罗就碰到了奖金……不,是冈村慧哲。运气啊,我爱罗瞧着嘴唇上粘着一溜小胡子的冈村慧哲感慨道。冈村也看到了我爱罗,于是两个都不满八岁的小不点互相对视了一眼。“那个,请问你有吃的吗?我饿坏了。”冈村见到是个同她一般大的男生自然没有想到他是冲着她来的。她可怜巴巴地望着我爱罗,从口袋里掏出一张大面值的钞票。他的想法是正确的。他接过这个有钱人手中的钱,一边为这次外快内心愉悦,一边道:“走吧,附近有村子。”回到砂忍村的我爱罗用几串丸子,一盘咸牛舌投喂冈村。啊,真没想到平民的食物这么美味,而且还便宜,冈村鼓着腮帮子想到。“吃饱了么……你的胡子掉下来了。”我爱罗发自内心地吐槽了一次。冈村赶忙把胡子重新粘好,但很遗憾,胶水不粘了,于是她只好把另一半的胡子也撕掉,但更遗憾了,另一半的胡子粘的挺牢,撕下来的时候冈村疼的有些龇牙咧嘴。我爱罗憋的有些抽搐。“吃饱了。”冈村揉了揉发红的嘴唇上方道。“那我们去散步吧。”冈村慧哲人畜无害地点了点头,然后两人就溜达到了任务所,看着我爱罗拿着奖金走了,冈村才发现自己被卖了。当好爸爸看到女儿被人五花大绑送到自己面前时内心很迷。“就你这样当忍者你可拉倒吧不存在的。”好爸爸下定了决心。于是......我们坚韧不屈的小公举时隔半月有余后在此离家出走了。冈村穿着唆使随身小忍者去偷来的忍装内心欢悦。嘛......虽然大了一点,但小公主的小愿望还是被小小的满足了一下的,她甩着两条长长的袖子,一蹦一跳地走在路上。饿了就啃啃自己带的干粮,冈村从来不记仇,所以她还是很感谢那个把她卖了的小男生,至少让她懂得了出远门要带上干粮这个道理,好吧,说实话她已经不记得他长什么样了。冈村摸了摸自己这次粘的炒鸡牢的小胡子,觉得自己真的是棒。然后她发现自己迷路了。沙漠里热的让她闻到了烤肉的味道。她!没有!戴帽子......就在她为自个儿即将消失的粉白皮肤而默默哀悼时,冈村听到了一阵被风吹过来的好听的风铃声。一个穿着黑底红祥云长袍,戴斗笠的人正迎面走来,那种一步一阵风铃响的装逼效果让冈村看呆了。但更重要的是他!有帽子!小公举毫不犹豫地跑过去抱大腿了。“你好,请问你还有多余的帽子吗?”冈村抬头问道。那人并没有说什么,他扫了一眼冈村拖着的长长的衣袖,然后摘下帽子扣在了冈村头上。帽子有点大,冈村的视线完全被帽檐遮住了。“谢谢。”冈村抬头道谢,却被那人一头赤色耀眼的头发刺到了眼睛。但旋即又被那张精致的脸吸引到了。怎么说呢,大概就是这辈子不是个妹儿简直是荒废了。好吧,他就是荒废了。突然,冈村话锋一转道:“请问怎么才能走出这片沙漠呢?”那张精致的脸上闪过一丝不明的笑意:“很巧,我们可以一起走出这片沙漠。”冈村立马露出天真纯良的抱大腿式笑容。那人微微一笑向前走去。其实那个笑容特别的好看,但在冈村眼中完全就变了味儿了。简直就是,风在吼,马在叫,黄河在咆哮,黄河在咆哮。极为伤眼。她发现眼前这个男人好像是砂忍村的S级通犯“赤砂之蝎”。???怎么就她运气这么好到伤神呢。她这么好看又明媚的一黄花大姑娘要是被先【哔——】后杀了怎么办?在线等挺急的。不过很快,冈村就理智了。自己刚才表情那么到位一定不会被发现的。况且她这次胡子粘的炒鸡牢。然后,赤砂之蝎在前面不紧不慢地走着,突然,他来了这么一句:“女孩,走累了可以和我说一声。”于是我们的小公举灰白了。Mmp,本公举的完美表情......Mmp,本公举的大码男式忍装......Mmp,本公举花费心思辛辛苦苦剪的大黄狗毛胡子......
15:16:59.0
“我爱你。” & & “不客气。”“你看我们谈笑风生。”“感情不深。”
第二话:男装与大佬& 刚走出砂忍村不久的我爱罗就碰到了奖金……不,是冈村慧哲。& 运气啊,我爱罗瞧着嘴唇上粘着一溜小胡子的冈村慧哲感慨道。& 冈村也看到了我爱罗,于是两个都不满八岁的小不点互相对视了一眼。& “那个,请问你有吃的吗?我饿坏了。”冈村见到是个同她一般大的男生自然没有想到他是冲着她来的。她可怜巴巴地望着我爱罗,从口袋里掏出一张大面值的钞票。& 他的想法是正确的。& 他接过这个有钱人手中的钱,一边为这次外快内心愉悦,一边道:“走吧,附近有村子。”& 回到砂忍村的我爱罗用几串丸子,一盘咸牛舌投喂冈村。& 啊,真没想到平民的食物这么美味,而且还便宜,冈村鼓着腮帮子想到。& “吃饱了么……你的胡子掉下来了。”我爱罗发自内心地吐槽了一次。& 冈村赶忙把胡子重新粘好,但很遗憾,胶水不粘了,于是她只好把另一半的胡子也撕掉,但更遗憾了,另一半的胡子粘的挺牢,撕下来的时候冈村疼的有些龇牙咧嘴。我爱罗憋的有些抽搐。& “吃饱了。”冈村揉了揉发红的嘴唇上方道。& “那我们去散步吧。”& 冈村慧哲人畜无害地点了点头,然后两人就溜达到了任务所,看着我爱罗拿着奖金走了,冈村才发现自己被卖了。& 当好爸爸看到女儿被人五花大绑送到自己面前时内心很迷。& “就你这样当忍者你可拉倒吧不存在的。”好爸爸下定了决心。& 于是......我们坚韧不屈的小公举时隔半月有余后在此离家出走了。& 冈村穿着唆使随身小忍者去偷来的忍装内心欢悦。嘛......虽然大了一点,但小公主的小愿望还是被小小的满足了一下的,她甩着两条长长的袖子,一蹦一跳地走在路上。饿了就啃啃自己带的干粮,冈村从来不记仇,所以她还是很感谢那个把她卖了的小男生,至少让她懂得了出远门要带上干粮这个道理,好吧,说实话她已经不记得他长什么样了。& 冈村摸了摸自己这次粘的炒鸡牢的小胡子,觉得自己真的是棒。& 然后她发现自己迷路了。& 沙漠里热的让她闻到了烤肉的味道。& 她!没有!戴帽子......& 就在她为自个儿即将消失的粉白皮肤而默默哀悼时,冈村听到了一阵被风吹过来的好听的风铃声。& 一个穿着黑底红祥云长袍,戴斗笠的人正迎面走来,那种一步一阵风铃响的装逼效果让冈村看呆了。但更重要的是他!有帽子!& 小公举毫不犹豫地跑过去抱大腿了。& “你好,请问你还有多余的帽子吗?”冈村抬头问道。& 那人并没有说什么,他扫了一眼冈村拖着的长长的衣袖,然后摘下帽子扣在了冈村头上。& 帽子有点大,冈村的视线完全被帽檐遮住了。& “谢谢。”冈村抬头道谢,却被那人一头赤色耀眼的头发刺到了眼睛。但旋即又被那张精致的脸吸引到了。& 怎么说呢,大概就是这辈子不是个妹儿简直是荒废了。好吧,他就是荒废了。& 突然,冈村话锋一转道:“请问怎么才能走出这片沙漠呢?”那张精致的脸上闪过一丝不明的笑意:“很巧,我们可以一起走出这片沙漠。”& 冈村立马露出天真纯良的抱大腿式笑容。& 那人微微一笑向前走去。& 其实那个笑容特别的好看,但在冈村眼中完全就变了味儿了。& 简直就是,风在吼,马在叫,黄河在咆哮,黄河在咆哮。极为伤眼。& 她发现眼前这个男人好像是砂忍村的S级通犯“赤砂之蝎”。 &???怎么就她运气这么好到伤神呢。& 她这么好看又明媚的一黄花大姑娘要是被先【哔——】后杀了怎么办?在线等挺急的。& 不过很快,冈村就理智了。自己刚才表情那么到位一定不会被发现的。况且她这次胡子粘的炒鸡牢。& 然后,赤砂之蝎在前面不紧不慢地走着,突然,他来了这么一句:“女孩,走累了可以和我说一声。”& 于是我们的小公举灰白了。& Mmp,本公举的完美表情......& Mmp,本公举的大码男式忍装......& Mmp,本公举花费心思辛辛苦苦剪的大黄狗毛胡子......
15:23:58.0
“我爱你。” & & “不客气。”“你看我们谈笑风生。”“感情不深。”
?好像发重了,算了看得懂就ok
15:27:24.0
“我爱你。” & & “不客气。”“你看我们谈笑风生。”“感情不深。”
蛤蛤蛤蛤蛤蛤蛤蛤蛤蛤,这什么优秀的沙雕文,腰间盘同学扩扩扩吗
16:46:36.0
惊,惊了,同志可还行q,一起去治疗腰间盘
17:40:35.0
cos后期找我cos化妆找我坐标苏州dd
第三话:队友与培训    其实赤砂之蝎完全是出于好玩才带着冈村走出沙漠到达基地的。  冈村就这么愉快地在基地里住(扣)(留)了一个星期。  她也不亏,有二位帅哥养养眼挺好的,而且还是风格各异。比方说美少女,不对,美少年型的迪达拉,元气十足而且萌萌哒,还会教她捏粘土。简直就是国民好哥哥。  再说赤砂之蝎,颜高技好。当然,她是指做傀儡方面的技好……她根本就不用担心自己的贞操难保。  因为有一天她和迪达拉傍晚粗去找晚饭的时候正好碰到了清洗傀儡的赤砂之蝎。  当她满怀期待地看着后者就要脱光光的时候,冈村觉得自己被刷新了对世界的认知。  ?果然,砂忍村都是禁欲系的吗……  ?果然,长得好看的男生都恨自己不是个妹儿吗……  再结合实际,冈村有种莫名的肉痛之感。当年赤砂之蝎把自己做成傀儡时,一刀切掉那里会不会很痛……  与此同时,在她一旁的迪达拉忍不住皱了皱眉。  “果然,看一次痛一次,蝎旦那,绝,嗯。”他喃喃道。    一个星期后,冈村打算继续她的忍着之路,于是就不辞而别了,简称,溜了。  就当她趁着蒙蒙雾色,带着一脸小嘚瑟逃离基地,顺便顺走了几只粘□□时。迪达拉微微睁开双眼道:“蝎旦那不拦她吗,嗯。”  赤砂之蝎点了点头,连眼睛都不想睁开。  “她又没用。”他说道。    后来,冈村回到了“暗之国”,以各种威逼利诱终于当上了想了N年的小忍者  完全接受了“自家女儿一辈子就这么个鬼样了,那就爱咋咋地吧”这一正确设定的好爸爸就给冈村慧哲找了另外两个小忍者送去忍校了。    但冈村在忍术方面真·没有多少天赋,一学四年,她仍是个废,一直都在及格上面一点点点点点,她安慰自己,没关系的,一切都会好起来的,会慢慢慢慢慢慢慢慢好起来的。  当然,除了理论课。  上到理论课,冈村所有的潜能都被激发了。不管是忍术,体术,幻术,医疗,暗杀还是测距战略,但凡涉及笔试理论,她就从来没有掉过分。  除了她觉得字太多写个鸡毛的情况。  所以学生与老师都不能在单方面评论她。  论实战她可能是个吊车尾,论战术她可以强到飞起来。  于是,一晃四年,她成功毕业了。  分组的时候,她也成功分到了两个挺鸡……牛掰的队友。  于是,冈村慧哲笑了。  自己在忍术上假装自己是个菜鸟的战略成功的!说实话,她就是担心自己会没有好队友才装成辣鸡的。然而,事实证明,在班的各位都是不懂战略的辣鸡。  不说了……让我们的小公举先膨胀一会。    两个队友的确都不错,一个妹子另一个汉子。  妹子是冈村的老铁,叫藤本娜娜,是只典型的萌妹子,但却攻击力爆表,大概就是“我这一拳下去,你有可能会死哦”。但也会用毛茸茸的亚麻色脑袋蹭你一下并眨着褐色的眼睛求抱抱,对,就是就抱抱——藤本·不满一米六·娜娜。  而且!她胸大腿长腰细……这当然是冈村最喜欢的。手感大法好啊。  至于那个名为天城暮烙青的男孩子则是老师家长眼中的小天才,以及,emm……  冈村慧哲打死都不承认的未婚夫。  在冈村“我敬你是条汉子你却想睡我。”的无声感慨下,两人当了很多年的好闺蜜。  好在天才和面瘫的情商都不高,更何况烙青两个全占,所以他也没太把未婚妻一事太当回事。何况他那张好脸下又深深隐藏着一颗极度闷骚的心。  讲真如果让他选,他大几率会选择藤本娜娜。  为什么?  因为她胸大腿长腰细emm手感好!  所以说闷骚隶属绝症。  总之三人相处的愉快至极。    就当三人参加毕业典礼之后,纷纷带上了“蛤蛤蛤,老子终于是个忍者了”的表情后,一条毫无人性的指示来了。  他们无法拿到象征忍者身份的护额。  ?  原因很草心。  “暗之国”是个小国家,综合国力国际地位低。教学水平达不到标准,学年比正常国家少一年。  所以,为促进国际关系提高教育水平,有一部分应届毕业生需要再去别的国家学习一年。  然后。  好巧哦(捧读),怎么就他们属于那“一部分”呢。  三人面面相觑,该怎么办呢,嘻嘻嘻吗?
16:07:56.0
“我爱你。” & & “不客气。”“你看我们谈笑风生。”“感情不深。”
第四话:公主与刺客  交换生是一种有趣的东西。  本着“国际友人”的友好思想,木叶村对他们管的很松,教育星级服务,饮食星级服务,住宿星级服务,但至于学不学就不是木叶该管的事了。  于是,从骨子里就透着放荡浪的三人组就更加放荡浪了。只不过他们不外露罢了。  在各种混吃混喝混住中,一年飞快的过去了。  忍者护额拿的跟活在梦里一样。    一切都很正轨,就和每一个普通的忍者一样,冈村出任务领赏金,休息,三点一线极为规律。  但是,她不是个规矩的人。  所以,她出轨,不,脱轨了。  引诱她脱轨的是一次擦肩而过。  那年,村子里出现了开膛手杰克一般的存在,杀人不眨眼,杀的那叫一个得心应手,有时走在路上的一干人不知不觉就随着夜色的加深而一个个消失了。  政府甚至下达了一条规定:夕阳消失以后所有居民不得以任何理由出门,尤其是无月之夜,只有在第二日早上八点才可以出去。  而那些接手这一人物的忍者不是放弃就是失踪了。  直到有一天,冈村莫明就很想出去溜达。  月光皎洁,天气清朗。小公举再也克制不住自己的洪荒之力,外出散步了。  街上冷清至极,明朗的月色勾勒出一幅怪诞的景象,街道上刷了水银般的发亮,一直延生至昏暗不清的远方。  我们的小公举很不高兴。  卖章鱼烧的店关门了。  卖苹果糖的店关门了。  卖丸子的店关门了。  于是小公举原本只是出来溜达的想法改变了。  她发誓她一定要抓住那个凶手。  并逼他通宵卖章鱼烧卖丸子卖苹果糖!!    夜色越发浓了。  冈村走在路上连连打着哈欠。  也许今天通缉犯病了?冈村伸着懒腰想到。她摸了摸身上的一小包白色粉末稍稍觉得可惜了一下。  看来天城暮烙青送她的小玩意儿是用不上了。    突然,一阵明显的杀意从脚腕处传来。  对,没错!脚腕处!  冈村笑了,然后根本停不下来。  “哈哈哈,别动那啊,哎呦我槽啊哈哈哈哈哈哈哈哈哈!!”  是的,那里就是冈村的笑点,轻轻一碰都会笑很久的那种。  那股杀气被冈村神奇的反应吓得停顿了一下。但随之杀气再次袭了上来。并迅速裹上了冈村的小腿,把她撂倒在地,一路拖行。  而我们处于危险之中的小公举......  “哈哈哈哈哈哈哈哈,哈哈哈哈哈哈.......我【哔——】哈哈哈......”宛若制杖。  突然,拖行停止了,小公举半眯着眼看到了一个模糊的人影。  于是,她不管三七二十一瞅准机会就把手里的一包白色粉末撒在了那个身影身上。  黑影剧烈地抖动了起来。  冈村腿上不再有束缚感,她直起身子,一脸嘚瑟地看着眼前的人道:“哈哈哈,让你感受一下生命中不可承受的奇痒。”  她大着胆子勾起那人的下巴,然后立马愣住。  她猛然想起这种奇痒是会传染的。  “甘霖娘......”冈村一边抖动着一边奔向一处地方,黑影立即跟了上去。  在看到冈村跳入河中后,黑影愣了一下,然后也跟着跳了下去。  奇痒瞬间得到了缓解。  两人尴尬地对视了一眼。  冈村还好,就洗了一下右手臂。  但另一个人是从头到脚都需要清洗的。  在看到对方完美地锁骨精壮地腹肌以及下方应该被打满俄罗斯方块的地方后。  冈村毫不犹豫地土拨鼠式尖叫了起来:“啊啊啊!!耍流氓啊啊!!”  对方一口老血差点憋死在心里。  明明是他被看光他被耍流氓他需要尖叫好吗!    爬上岸的两人迅速套上衣服。  就在冈村再次想靠尖叫吸引民众时,她终于看清了对方的脸。  ?  为什么天底下会有这么好看的人!  小公举的内心仿佛中了一箭。  冈村话锋瞬间一转。  “你要对我负责。”  岂料同样看清冈村脸蛋儿的对方反应快而果断。  “雅蠛蝶。”他冷冷地说道。
20:08:51.0
“我爱你。” & & “不客气。”“你看我们谈笑风生。”“感情不深。”
20:34:53.0
回应/阅读:9/111
本地保存成功!
使用签名档
没有多多号?
&北有洛川,南望徐淮。&
沿着富士山雪皑皑,东京寻爱。
乱我心曲。
啦啦啦啦啦啦
你可知命运造人呢?(若不介意我来烦劳而急需找我情找我企鹅号。)
私は善良で、善良ですべてを灭ぼして、素直に笑っています。
你们的狼子爵、凌少校在此}

我要回帖

更多关于 sha汤 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信