PHP와 MT4에서 암호화 데이터 주고 받기

BLUEI MQL4 0 768

메타트레이더에서 암호화한 데이터를 PHP에서 Decrypt하는 방법. - 메타트레이더에서 AES256으로 암호화한 데이터를 Hex데이터로 변환- PHP에서 Hex데이터를 Bin데이터로 변환 후 복호화 한다.복호화 옵션에 OPENSSL_RAW_DATA만 설정했었는데 삽질끝에 OPENSSL_ZERO_PADDING 옵션까지 주어야 한다는 사실을 알게 됨.이로써 다른분들은 두시간여의 삽질을 하지 않기를 바랍니다 ^^ string text = "{"name":"Metatrader4 Crypt"}"; string keystr = "12345678901234567890123456789012"; uchar src[],dst[],key[]; StringToCharArray(keystr, key); StringToCharArray(text, src); CryptEncode(CRYPT_AES256, src, key, dst); Print(ArrayToHex(dst)); $keystr = "12345678901234567890123456789012"; $str_dec = openssl_decrypt(hex2bin($str_enc_mt), "AES-256-ECB", $keystr, OPENSSL_ZERO_PADDING|OPENSSL_RAW_DATA); echo $str_desc;

해외서버 선택시 고려할 가치가 없는 지역

BLUEI Server 0 473

최근 클라우드서비스가 퍼지면서 해외에 서버를 두는 경우가 많아지고 있습니다.하지만 항상 어디에 서버를 두면 속도가 문제가 없을까?? 하는 고민은 ㅠㅠ 없어지지 않죠저 역시 도쿄 아니면 싱가포르를 선택하는데... 이에 대해서 깔끔하게 정리된 글이 있어서 올려 봅니다.원문: https://xetown.com/tiptalk/951853 대부분의 경우 "거들떠볼 가치도 없다"고 짧게 대답하고 그나마 속도가 괜찮은 일본이나 미국 서부로 안내해 드립니다만, 전세계 여기저기 서버를 사용해 본 입장에서 일정한 패턴을 눈치채고 있기 때문에 아예 깔끔하게 규칙을 만들어보려고 합니다. 1. 구글 지도나 그 밖의 세계지도를 폅니다. 2. 북한 평양을 통과하여 북극과 남극을 잇는 세로줄을 쫙 긋습니다. 3. 노르웨이 오슬로를 통과하여 북극과 남극을 잇는 세로줄을 쫙 긋습니다. 4. 이 두 줄 사이에 있는 지역은 서버 선택시 거들떠보지도 않는 것이 정신건강에 좋습니다. 5. 북회귀선(북위 23.5도)을 따라 가로줄을 쫙 긋습니다. 6. 이 줄보다 아래에 있는 지역에도 서버 따위는 존재하지 않는다고 가정합니다. 이 블랙리스트에는 동유럽, 러시아, 중국, 동남아 (홍콩과 싱가포르 포함), 호주, 인도, 중동, 아프리카 대부분 지역 뿐 아니라 코펜하겐, 베를린, 로마 등 흔히 서유럽이라고 생각하는 지역도 상당수 포함됩니다.

Vultr 윈도우 서버 시간이 변경되는 문제 해결

BLUEI Server 0 1,107

Vultr에서만 발생하는 문제인지 기타 다른 Cloud Service에서도 발생하는 문제인지는 확실치 않으나AWS(아마존 웹서비스)에서는 이런 문제가 발생한적이 없는것으로 봐서는그리고 Vultr에서도 따로 FAQ페이지가 있는것으로 봐서는 Vultr에서만 발생하는 문제인듯 하다.Vultr이 KVM기반으로 알고 있으니 KVM환경에서도 발생하는 문제일수도 있다.나 같은 경우는 Timezone을 Asia/Seoul로 변경해도 계속해서 시간이 다른 시간대로 변경되는 문제점이 발생되었다.서버 시간을 읽어들여 처리하는 어플리케이션을 운영하고 있으므로 나에게는 상당히 크리티컬한 문제였다.Vultr이 아니더라도 이런 문제가 발생한다면 첨부된 "vultr_correcting_time_on_windows_server.reg"를 실행시켜 레지스트리 변경 작업을 하면 된다.vultr_correcting_time_on_windows_server.reg의 내용은 다음과 같다.   Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "RealTimeIsUniversal"=dword:00000001  

Hyper-V의 VM을 가상화 환경으로 구동시키기

BLUEI 기타 0 1,372

Hyper-V에서 VDI환경을 구축할시 개발용 VM의 경우 Docker, VirtualBox등을 구동하기 위해서 가상화옵션을 줄 필요가 있다.이경우 PowerShell을 관리자 실행 한 후 아래 명령어를 입력하면 VM안에서 VM환경을 구동시킬수 있다. PS> Set-VMProcessor -VMName "[Virtual Machine Name]" -ExposeVirtualizationExtensions $true