小编Baf*_*sta的帖子

有没有办法扭转这种按位功能?

我被要求通过创建一个新程序来加密密码,我想的是使用位来改变输入键的每个字符与显然不相关的字符,所以我写了这个函数:

(我正在使用PHP代码):

function CBS($digits, $n_times) {
    $mask = 0x7FFFFFFF;
    $digits = intval($digits);
    if($n_times > 0) {
        $digits = ($digits<<$n_times%32) & (($digits>>(32-$n_times%32)) & ($mask>>(31-$n_times%32)));
    }elseif($n_times < 0) {
        $n_times = abs($n_times);
        $digits = (($digits>>$n_times%32) & ($mask >> (-1+$n_times%32))) | ($digits<<(32-$n_times%32));
    }
    return decbin($digits);
}
Run Code Online (Sandbox Code Playgroud)

当然,在我加密密码后,我应该可以解密它.

有没有办法做到这一点?

你不需要把代码写给我,如果你能用文字向我解释它会很棒.

php encryption bit-manipulation reversing function

5
推荐指数
1
解决办法
175
查看次数

GetFileAttributes以绝对路径失败

我正在使用WinAPI创建一个简单的程序来检查目录是否存在,这是函数代码:

BOOL directoryExists( LPCSTR path ) {
    DWORD pathAttributes = GetFileAttributes ( path );

    return pathAttributes != INVALID_FILE_ATTRIBUTES 
                  && pathAttributes == FILE_ATTRIBUTE_DIRECTORY;
 }
Run Code Online (Sandbox Code Playgroud)

然后我在我的主要代码中用这行代码测试它:

 std::cout << ( ( directoryExists( "C:\\Users\\Admin\\Desktop" ) ?  
                          "Directory found"  : "Directory not found"  ) 
          << static_cast< char >( 0xA );
Run Code Online (Sandbox Code Playgroud)

无论我尝试输入什么绝对路径,看起来我都会找到"找不到目录".无论如何,相对路径成功!

我在哪里失败了?:|

提前致谢!

c++ winapi

2
推荐指数
1
解决办法
756
查看次数

无明显理由获得"多重定义"

问题从标题中可以清楚地看出来.这是代码:

TimeTask.hpp:

#pragma once
#include <locale>
#include <codecvt>
#include <chrono>

namespace TimeTask {

static std::wstring_convert<std::codecvt_utf8_utf16<wchar_t> > converter;

std::tm * to_date(
    int day, int month, int year,
    int hours = -1, int minutes = -1, int seconds = -1
) {
    time_t rawTime = time(0);
    std::tm * tInfo = localtime(&rawTime);
    tInfo->tm_mday  = day;
    tInfo->tm_mon   = month - 1;
    tInfo->tm_year  = year - 1900;

    if(hours >= 0)
        tInfo -> tm_hour = hours;
    if(seconds >= 0)
        tInfo -> tm_sec = seconds;
    if(minutes >= …
Run Code Online (Sandbox Code Playgroud)

c++ multiple-definition-error

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