能否把下面的。NET语句转换成JAVA的??

shaoyadong 2008-05-20 04:39:27
我实在是没办法处理C#中的uint数据类型了。。

private void code(uint[] v, uint[] k)
{
uint y = v[0];
uint z = v[1];
uint sum = 0;
uint delta=0x9E3779B9;
uint n=32;

while(n-->0)
{
y += (z << 4 ^ z >> 5) + z ^ sum + k[sum & 3];
sum += delta;
z += (y << 4 ^ y >> 5) + y ^ sum + k[sum >> 11 & 3];
}

v[0]=y;
v[1]=z;
}
...全文
172 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
shaoyadong 2008-06-02
  • 打赏
  • 举报
回复
这里好象不能上传文件,到时候弄一个空间,把代码放上去..嘿嘿..
zhj92lxs 2008-05-28
  • 打赏
  • 举报
回复
不清楚
shaoyadong 2008-05-28
  • 打赏
  • 举报
回复

经过多方面的查询资料,自己摸索终于把C#用Tea编写的加密换成了JAVA.肯定有好多BUG,以后再慢慢完善吧.
shaoyadong 2008-05-21
  • 打赏
  • 举报
回复
那这个算法应该怎么写??能够实现.NET和java得到的结果是一样的???求各位大大了.
evoloyeu 2008-05-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 crazycd 的回复:]
那是算法問題.和數據類型沒有關係吧?代碼中只有移位,與,冪操作.用java實現應該不難吧.
[/Quote]
shaoyadong 2008-05-21
  • 打赏
  • 举报
回复
看样子是没办法了,哎..再顶次.
shaoyadong 2008-05-21
  • 打赏
  • 举报
回复
如果把.NET里面的uint数据类型改成long就可以了,但是在解密的时候就会有问题.
shaoyadong 2008-05-20
  • 打赏
  • 举报
回复
在java中int的取值范围是-2 的31次方 到 2的31次方-1,
这个好大了哦.
shaoyadong 2008-05-20
  • 打赏
  • 举报
回复
在java中int的取值范围是-2 <sup>31 </sup>—2 <sup>31 </sup>-1
shaoyadong 2008-05-20
  • 打赏
  • 举报
回复
在java中int的取值范围是-2<sup>31</sup>—2<sup>31</sup>-1
科技三点 2008-05-20
  • 打赏
  • 举报
回复
java中 << 是邏輯左移右邊補0 符號位和其他位同時移動.(元數據肯定不會出現負數吧.那麼在不溢出的前提下符號應該是不會變的吧)
同時 >> 是算數右移 (元數據為正數的時候左邊補0 符號應該也不會變吧)

所以只要在不溢出的情況下應該是沒有問題的. 不知道妳所說的出來的結果不一樣在哪裡.最好能有debug數據
KK3K2005 2008-05-20
  • 打赏
  • 举报
回复
uint 和int 的值范围不一样

至少要弄个 范围不小于uint的 类型来处理
shaoyadong 2008-05-20
  • 打赏
  • 举报
回复
与数据类型没关系??
C#中uint数据类型是0 到 4294967295,它再怎么移都应该包含在这个范围以内吧。
如果是java里面的long类型,移位不会变成负的吗?
我是糊涂了。
科技三点 2008-05-20
  • 打赏
  • 举报
回复
那是算法問題.和數據類型沒有關係吧?代碼中只有移位,與,冪操作.用java實現應該不難吧.
shaoyadong 2008-05-20
  • 打赏
  • 举报
回复
是不会溢出,但是这样一来计算出来的结果和。NET出来的结果是不一样的。
科技三点 2008-05-20
  • 打赏
  • 举报
回复
java不支持無符號整型. 但是可以考慮用long來接收這樣應該就不會溢出.
moodoasis 2008-05-20
  • 打赏
  • 举报
回复
学习
shaoyadong 2008-05-20
  • 打赏
  • 举报
回复
很急啊,各位高手们。不知道也吱一声撒。

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧