我知道,SHA-256优于MD5的安全性等,但是,如果我用一种方法来只检查文件的完整性(即,无关的密码加密等),是否有任何优势使用SHA-256?
由于MD5是128位而SHA-256是256位(因此大两倍)......
加密需要两倍的时间吗?
如果时间不重要,就像在备份程序中一样,文件完整性就是所需要的,那么有人会反对MD5使用不同的算法,甚至提出不同的技术吗?
使用MD5产生校验和吗?
我试图获得新的行,但如果我使用\n
它没有任何方式通过添加字符串像\r\n
(不起作用)有新的行
gfx.DrawString("Project No \n" + textBoxProjNumber.Text, fontUnder, XBrushes.Black, 230, 95);
Run Code Online (Sandbox Code Playgroud)
不起作用.
我正在写一个备份解决方案(各种各样).只需从位置C:\复制一个文件并将其粘贴到位置Z:\
为确保速度快,在复制和粘贴之前,它会检查原始文件是否存在.如果是这样,它会执行一些"计算",以确定是否应该继续复制或备份文件是否是最新的.正是这些计算我发现很难.
最初,我比较了文件大小,但这还不够好,因为它很可能更改文件并且大小相同(例如,在记事本中保存字符C的大小与保存字符T的大小相同) ).
所以,我需要找出修改日期是否不同.目前,我使用FileInfo
该类获取文件信息,但在查看了所有字段后,似乎没有什么是合适的.
如何检查以确保我正在复制已修改的文件?
编辑 我已经看到SO的建议使用MD5校验和,但我担心这可能是一个问题,因为我正在比较的一些文件将高达10GB
我正在使用css3缩放变换来缩放包含其他div的div.
我遇到的问题是我需要保留一些内部div,基本上好像它们没有缩放,它们的大小不应该改变,但是我确实需要用其他内容来扩展父div.
你怎么能扭转一些div的缩放?
我正在尝试应用反向缩放.
如果整个div应用了1.5的值,我试图找到我现在应该扩展其他div的值,以便在视觉上将它们恢复到以前的状态.
根据http://msdn.microsoft.com/en-us/library/6t7dwaa5.aspx,如果我想显示一个数字作为货币,我可以调用.ToString()并传递一个参数,在本例中为"C" "
但是,根据以下来自MSDN站点的详细信息,它会自动删除减号( - )字符,这意味着我的值现在为正值.
int value = -16325;
// Display value using default ToString method.
Console.WriteLine(value.ToString()); // Displays -16325
// Display value using some standard format specifiers.
Console.WriteLine(value.ToString("G")); // Displays -16325
Console.WriteLine(value.ToString("C")); // Displays ($16,325.00)
Console.WriteLine(value.ToString("D")); // Displays -16325
Console.WriteLine(value.ToString("F")); // Displays -16325.00
Console.WriteLine(value.ToString("N")); // Displays -16,325.00
Console.WriteLine(value.ToString("X")); // Displays FFFFC03B
Run Code Online (Sandbox Code Playgroud)
所以,我如何使用减号符号,我必须使用包含(" - ")方法,如果它是真的添加 - 重新开启.
像这个代码的东西(如果编码不正确,请道歉,但你明白了).
string x = (value.ToString().Contains("-") : "-" + value.ToString("C") ? + value.ToString("C"));
Run Code Online (Sandbox Code Playgroud) 我试图理解为什么我的代码没有按照需要执行.它创建一个GZipStream,然后将该对象保存为我的硬盘驱动器上的压缩文件,但保存的文件始终为0字节.
现在我知道如何使用GZipStream保存文件,但是,我的问题不是如何做到这一点.我的问题纯粹是为什么这段代码可以节省0个字节(或者为什么FileStream工作而内存不存在).
private void BegingCompression()
{
var bytes = File.ReadAllBytes(this.fileName);
using (MemoryStream ms = new MemoryStream(bytes))
{
ms.ReadByte();
using (FileStream fs =new FileStream(this.newFileName, FileMode.CreateNew))
using (GZipStream zipStream = new GZipStream(ms, CompressionMode.Compress, false))
{
zipStream.Write(bytes, 0, bytes.Length);
}
}
}
Run Code Online (Sandbox Code Playgroud)
在问候的源代码,this.fileName = c:\Audio.wav
以及newFileName
IS c:\Audio.wav.gz
(但也试过c:\audio.gz
)
我几乎检查了每个答案,但这些都是简单的错误和错误.我的问题是OnCollisionEnter即使在碰撞其他刚体时也不会被调用.
这是不被称为的部分:
void OnCollisionEnter(UnityEngine.Collision col) {
Debug.Log("collision!!!");
foreach(ContactPoint contact in col.contacts) {
//checking the individual collisions
if(contact.Equals(this.target))
{
if(!attacking) {
Debug.Log("hitting target");
} else {
Debug.Log("dying");
//engage death sequence
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
甚至没有"碰撞!!!" 消息出现.我是否理解错误使用,或者我忘记了什么?
我有一个由许多其他物体组成的物体!我试图找到其中一个属性(枚举)的值,但不能.
现在,通常如果我想检查一个对象是否为null我可以做
if (object == null)
Run Code Online (Sandbox Code Playgroud)
但这会导致同样的错误.
我试过了
if (object.Equals(null)) and the same error.
Run Code Online (Sandbox Code Playgroud)
我得到的错误消息是objectName抛出异常:System.NullReferenceException:对象引用未设置为对象的实例..
我正在尝试确定我的对象是否已实例化.现在,我可以坚持尝试捕捉,如果错误然后我知道它不是,但对我来说这感觉非常错误(虽然我可能没有选择).
我遇到的另一个问题是这个项目不是我的,对每个人来说都是一个黑盒子,因此我无法对原始对象进行任何更改!这意味着,我拥有的只是我所拥有的,一个可能会或可能不会被实例化的对象,我需要一种方式来讲述.
除了try catch之外,我还有其他选择吗?
编辑
所以,对象是
public partial class SaveBundleResponse
{
SaveBundleResponseHeader header;
}
public partial class SaveBundleResponseHeader
{
private SaveBundleResponseHeaderStatus status;
}
public enum SaveBundleResponseHeaderStatus
{
Success, Fail, OK, OtherStates
}
Run Code Online (Sandbox Code Playgroud)
因此,最初创建SaveBundleResponse,然后实例通过"工作流"样式环境,并且每个属性在工作流程更深入时变为"填充/更新"等.但是,在少数情况下,永远不会设置枚举.
问题是,我需要知道枚举的值(或者如果它是null).
我试图使用的代码是
if (saveBundleResponse.Header.Status // what ever happens, it fails at this point as Status is not initiated.
Run Code Online (Sandbox Code Playgroud) 我的应用程序将一些文件写入光盘,但我意识到我在此过程中编写了现有文件.所以,我需要先检查文件是否存在,然后执行一些逻辑.
可能会有很多文件,因此,我想要估计影响会有多大(在时间方面).所以,我创建了一个控制台应用程序来测试它.
我的代码
using System;
using System.Collections.Generic;
using System.IO;
namespace TimeForFileRead
{
class Program
{
static string myPath = "C:\\Users\\DRook\\Desktop\\temp\\";
static string myPathFile = myPath + "file";
static void Main(string[] args)
{
for (int i = 0; i < 5; i++)
{
DoSomeWork();
Console.WriteLine(" = = = = = =============== = = = = =");
}
Console.ReadKey();
}
static void DoSomeWork()
{
if (!Directory.Exists(myPath))
Directory.CreateDirectory(myPath);
System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch();
stopWatch.Start();
for (int i = 0; i < 1000; i++) …
Run Code Online (Sandbox Code Playgroud) 我试图理解静态方法,我已经达成了一个令人困惑的问题.
仅关注此问题的方法,如果我创建了我的对象的实例(其中类本身不是静态的),那么我通常只能访问public,protected和/或内部方法(取决于范围/封装).换句话说,我无法访问私有方法.
我已经读过,虽然最小的静态方法比非静态方法稍微有效.
因此,在创建返回类型为void的私有方法时,并在从内部创建对象的引用时排除,为什么不将它设置为静态?我见过的所有代码都没有这样做,所以我只能假设我错过了这一点.