小编svi*_*ick的帖子

破解密码的最佳循环

我正在创建一个程序,我将用它来帮助我的客户恢复放在办公文档上的密码,如word和excel.该程序工作得很好,但它比你可以免费下载的类似产品慢很多.我想使用我自己的程序,因为我觉得你免费下载的很多都不是完全安全的,并且缺少我想要的一些控件.

更重要的是......我需要帮助弄清楚为什么我的程序如此慢.我用一个简单的3个字母的密码"TFX"创建了一个excel文档.我下载的程序找到密码的速度几乎和我点击"go"后放开鼠标按钮一样快.我的节目需要10分钟.这是3个字符的循环:

  private string ThreeCharPass(string file, Microsoft.Office.Interop.Excel.Application exApp, char[] combarr)
    {
        for (int three = 0; three < combarr.Length; three++)
        {
            for (int two = 0; two < combarr.Length; two++)
            {
                for (int one = 0; one < combarr.Length; one++)
                {
                    try
                    {
                        string pass = combarr[three].ToString() + combarr[two].ToString() + combarr[one].ToString();
                        exApp.Workbooks.Open(file, false, true, Type.Missing, pass, Type.Missing, true, Type.Missing, Type.Missing, false, false, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                        return pass;
                    }
                    catch
                    {
                    }
                }
            }
        }
        return string.Empty;
    }
Run Code Online (Sandbox Code Playgroud)

数组'combarr'是一个包含密码中所有可能字符的字符数组.它是在程序的早期基于用户选择的选项生成的.我认为问题必须在于我循环遍历数组以创建密码组合的方式,因为只有在这个3字符密码方法中,它花费超过5分钟,其他"专业"程序花费几秒钟.任何反馈将不胜感激!!

c# passwords cracking forgot-password

0
推荐指数
1
解决办法
9968
查看次数

使用堆栈和二叉树构建表达式树c

我得到一个包含运算符+, - ,*,/和括号的算术公式(可能会也可能不会改变运算符的自然优先级).一个例子如下:a/b + f - (c + d)*e - a*c.并且我被要求使用堆栈(实现为链接列表)以跟踪操作数和运算符:我的程序应该如何工作的示例如下:

  • 读取a,推送操作数堆栈
  • 读取/,推动操作员堆栈
  • 读b,按下操作数堆栈
  • 读+:优先级低于/,所以:
    • 从操作数堆栈中弹出2个操作数(a和b)
    • pop/from operator stack
    • 创建子树并推送操作数堆栈
    • 运算符堆栈为空,因此按下+
  • 读取f,按下操作数堆栈
  • 读 - :与+具有相同的优先级,因此:
    • 从操作数堆栈中弹出2个操作数
    • pop操作符+来自操作符堆栈
    • 创建一个树,其中operator +为根,两个操作数为left和right子
    • 将创建的树的根推回操作数堆栈
    • 运算符堆栈是空的,所以按下它

我难以理解的问题是如何区分操作数优先级!

这是我写的代码的不完整版本:

#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

typedef struct btnode Btree;
typedef struct node s_Node;

struct btnode {
    char info; 
    Btree *left; 
    Btree *right;
};


struct node {
    char element;
    s_Node*next;
}; 

typedef struct{
    s_Node *top_stack;
} stack_t; 

int IsOperator(char c);

main () {
    FILE* fp;
    stack_t …
Run Code Online (Sandbox Code Playgroud)

c stack binary-tree expression-trees

0
推荐指数
1
解决办法
9105
查看次数

你会如何简化这种映射?数组到对象

你认为什么是最img.Group.Contents简洁的方法来循环并写出galleryImage的值.??? 对象?

galleryImage.TinyImage = new myModel.Image._Img();

galleryImage.TinyImage.Url = img.Group.Contents[0].Url;
galleryImage.TinyImage.FileSize = img.Group.Contents[0].FileSize;
galleryImage.TinyImage.Type = img.Group.Contents[0].Type;
galleryImage.TinyImage.Medium = img.Group.Contents[0].Medium;
galleryImage.TinyImage.Width = img.Group.Contents[0].Width;
galleryImage.TinyImage.Height = img.Group.Contents[0].Height;
galleryImage.TinyImage.Hash = img.Group.Contents[0].Hash;

galleryImage.Thumbnail.Url = img.Group.Contents[1].Url;
galleryImage.Thumbnail.FileSize = img.Group.Contents[1].FileSize;
galleryImage.Thumbnail.Type = img.Group.Contents[1].Type;
galleryImage.Thumbnail.Medium = img.Group.Contents[1].Medium;
galleryImage.Thumbnail.Width = img.Group.Contents[1].Width;
galleryImage.Thumbnail.Height = img.Group.Contents[1].Height;
galleryImage.Thumbnail.Hash = img.Group.Contents[1].Hash;

galleryImage.SmallImage.Url = img.Group.Contents[2].Url;
galleryImage.SmallImage.FileSize = img.Group.Contents[2].FileSize;
galleryImage.SmallImage.Type = img.Group.Contents[2].Type;
galleryImage.SmallImage.Medium = img.Group.Contents[2].Medium;
galleryImage.SmallImage.Width = img.Group.Contents[2].Width;
galleryImage.SmallImage.Height = img.Group.Contents[2].Height;
galleryImage.SmallImage.Hash = img.Group.Contents[2].Hash;

galleryImage.MediumImage.Url = img.Group.Contents[3].Url;
galleryImage.MediumImage.FileSize = img.Group.Contents[3].FileSize;
galleryImage.MediumImage.Type = img.Group.Contents[3].Type; …
Run Code Online (Sandbox Code Playgroud)

c# arrays loops

0
推荐指数
1
解决办法
72
查看次数

有什么想法为什么这个静态类没有初始化?

我目前正在为一个涉及构建"tamagotchi"程序的uni项目开发一个程序,但是我很早就遇到了与我用于存储与每个宠物相关的值的类构造相关的错误.记录的一部分.但是,当我跟踪程序时,变量似乎没有初始化,并且NullReferenceException一旦程序第一次调用变量就会抛出变量.有什么想法吗?

static class GlobalVars     // Static class used to store pet values as 'global' variables.
{
    public static TTamagotchiPet Pet1 { get; set; }
    public static TTamagotchiPet Pet2 { get; set; }
    public static TTamagotchiPet Pet3 { get; set; }
    public static TTamagotchiPet Pet4 { get; set; }
}

public void frmTamagotchi_Load(object sender, EventArgs e)      // On Load event; initialises Pet 1.
{
    tmrUpdate.Enabled = true;
    GlobalVars.Pet1.Active = true;
    //GlobalVars.Pet1.Dead = false;
    //GlobalVars.Pet1.FunValue = 0;
    //GlobalVars.Pet1.FoodValue = 0; …
Run Code Online (Sandbox Code Playgroud)

c# static records

0
推荐指数
2
解决办法
128
查看次数

从数据库中删除列数据

在我的数据库中,我有用户名,密码,地址,城市等.使用此代码,它从数据库中删除整行:

SqlCommand cmd = new SqlCommand("Delete from customer_registration where username='"+ Session["username"] +"'",del);
Run Code Online (Sandbox Code Playgroud)

我的数据库有数据: Db

如何删除某些列数据,或将其设置回NULLD b

c# sql-server asp.net

0
推荐指数
1
解决办法
798
查看次数

为什么我应该等待?

我是async/await的新手.但我创建了POC,但我仍然感到困惑.

方法的结果

public async void WriteLineFunc(string str)
    {
        await Task.Factory.StartNew(() => WaitFor2Secs());
        //WaitFor2Secs();
        Console.WriteLine(str);
    }
Run Code Online (Sandbox Code Playgroud)

public async void WriteLineFunc(string str)
    {
        //await Task.Factory.StartNew(() => WaitFor2Secs());
        WaitFor2Secs();
        Console.WriteLine(str);
    }
Run Code Online (Sandbox Code Playgroud)

是一样的.制作等待方法的重点是什么?只是在其他线程上运行一个函数并等待它完成?

c# multithreading asynchronous async-await c#-5.0

0
推荐指数
1
解决办法
278
查看次数

从.txt文件中访问double

我有一个.txt文件,看起来像:

(0.781860352, -11.6927013, 7.20992613)  
(0.364501476, -9.41256046, 6.87873077)  
(0.394773483, -7.85253429, 6.90275288)
Run Code Online (Sandbox Code Playgroud)

我需要一个代码来分别从每一行访问每个double.我遇到了解决这个问题的麻烦.有任何想法吗?

谢谢!

更新:

所以,就像我说的那样,我使用Kerrek SB的建议从每一行访问每个双,然后我将这些值存储到向量的组件中,然后我访问每个组件并执行操作(比如将它们相乘),以及将结果存储到数组中; 最后我添加了数组的内容.无论如何,这是代码:

int main() {

    //=============================
    //Initial Declarations
    //=============================

Vector3 r(0,0,0);
int num = 0 , i;
string line;
char c, d1, d2, d3, d4;
double v1, v2, v3 , b[num];

   //=============================
   //Counting Lines in File
   //=============================

ifstream is;
is.open ("data.txt");
while (is.good())
{
c = is.get();
if (c=='\n')num++;
}
is.close();
cout<<"Number of lines in file is "<<num<<endl;

   //=============================
   //Getting Data
   //=============================

ifstream infile("data.txt");

for (line …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
117
查看次数

WaitHandle.WaitAll和ManualResetEvent.Set() - 首先应该是什么?

我有一个关于WaitHandle.WaitAll工作的问题,并希望得到任何帮助.

让我们假设我有这样的情况:父线程正在打开几个子线程,并且必须等待"做其他事情",直到子线程完成他们的工作.

我使用WaitHandle.WaitAll并希望继续使用此方法.(没有Thread.Join等,请:))

ManualResetEvent[] events = new ManualResetEvent[list.Count];

foreach (string row in list)
{
    events[i] = new ManualResetEvent(false);                

    Thread thread = new Thread(new ParameterizedThreadStart(DoSomething));
    thread.Start(events[i]); // start child thread

    System.Threading.Thread.Sleep(1000000);

    i++;
}

WaitHandle.WaitAll(events); // wait for child threads finish their work
...
...


private DoSomething(object sth)
{
// some stuff that executes only 1 second
ManualResetEvent.Set()
}
Run Code Online (Sandbox Code Playgroud)

因此,第一个新启动的子线程的情况是调用ManualResetEvent.Set()是在父线程中调用WaitHandle.WaitAll(事件)之前.因为打开新子线程的循环有一些长时间超时.

所以我的问题,不是这样的时间问题吗?不应该在调用ManualResetEvent.Set()之前调用WaitHandle.WaitAll吗?

.net c# multithreading

0
推荐指数
1
解决办法
7200
查看次数

请解释为什么17%40 = 17

我是Java的新手,实际上是编程.我知道模数运算符(%)返回两个数的余数,但是,我不明白为什么17%40 = 17.

据我所知,40%17 = 6,17%5 = 2,40%5 = 0.我得到了剩下的返回值的要点.但是17%40 = 17让我难过.

我可以设计的唯一合理化是,由于余数小于1,所以返回总值17,为什么不是0?请帮我解释这个谜.

java operators modulus

0
推荐指数
1
解决办法
585
查看次数

使用lambda表达式从一个列表中的一个列表中获取值

我是lambda表达的新手,所以我试着解决一个问题.但我不能.所以有人可以建议解决这个问题.

我有一个班级客户.在里面我创建了另外3个类并为3个类创建了可观察的集合.我为这个客户创建了一个可观察的集合

ObservableCollection<Customer> customer2;

   public class Customer
    {
        public string CusName { get; set; }
        public int CusAge { get; set; }
        public ObservableCollection<Bankdetails> bankdetails;
        public ObservableCollection<order> orderlist;
        public ObservableCollection<orderdetails> orderdetailslist;

        public class Bankdetails
        {
            public string Bankaccno { get; set; }
            public string bankname { get; set; }
            public int bankid { get; set; }
        }

        public class order
        {
            public string ordername { get; set; }
            public string orderid { get; set; }

        }

        public class orderdetails
        { …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda

0
推荐指数
1
解决办法
3547
查看次数