如何解密已经加密的答案

时间:2019-03-07 16:20:47

标签: javascript

我不知道这是问的地方还是什至我可以正确的方式获得一些指导。我设法使我的代码对文本进行加密,但是我想在按下按钮时将其反转,以便在单击“解密”时将原始值粘贴到按钮中。因此,假设您输入“ Hello”并带有5个移位,它将加密tomjqqt。我想要它,所以当我按解密时,它将“ hello”放入文本字​​段。抱歉,如果不允许这样做,但我确实尝试了好几个小时。

JS;

@model GoogleMapTest.Models.MapPoint

@{
    ViewBag.Title = "Create";
}

<h2>Create</h2>

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

    <fieldset>
        <legend>MapPoint</legend>

        <div class="form-group">
            <div class="editor-label">
                @Html.LabelFor(model => model.Address)
            </div>
            <div class="editor-field">
                @Html.DisplayFor(model => model.Address)
                @Html.HiddenFor(model => model.Address, new { id = "Address" })
                @Html.ValidationMessageFor(model => model.Address)
            </div>

            <button type="button" class="btn btn-default" style="float: left"
                data-toggle="modal" data-target="#findInModal" data-backdrop="static"
                data-keyboard="true">
                Find Position
            </button>

        </div>


        <div class="editor-label">
            @Html.LabelFor(model => model.Latitude)
        </div>
        <div class="editor-field">
            @Html.DisplayFor(model => model.Latitude)
            @Html.HiddenFor(model => model.Latitude, new { id = "Latitude" })
            @Html.ValidationMessageFor(model => model.Latitude)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Longitude)
        </div>
        <div class="editor-field">
            @Html.DisplayFor(model => model.Longitude)
            @Html.HiddenFor(model => model.Longitude, new { id = "Longitude" })
            @Html.ValidationMessageFor(model => model.Longitude)
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}


<!-- Find Location In Modal -->
@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()


    <div class="modal fade" id="findInModal" tabindex="-1" role="dialog">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" style="height: 0px;">Set Point in Map</h5>



                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <input id="pac-input" class="controls" type="text" placeholder="Find...">

                    <div id="gMap" style="height:400px;width:100%;"></div>
                    <script src="https://maps.google.com/maps/api/js?sensor=false&key=AIzaSyDMD8_QumYpomzDTcHW-myppqsyCZRsnB8"
                                // APIkey end with call to libraries "&libraries=places&callback=initAutocomplete"
                            async defer></script>

                    <script>


                        function initAutocomplete() {
                            var map = new google.maps.Map(document.getElementById('gMap'), {
                                center: { lat: 41.893321, lng: 12.482929 },
                                zoom: 13,
                                mapTypeId: 'hybrid',
                                scrollwheel: true,
                                zoomControl: false,
                                scaleControl: true,
                                streetViewControl: false,
                                fullscreenControl: false,
                                mapTypeControl: false
                            });

                            // Create the search box and link it to the UI element.
                            var input = document.getElementById('pac-input');
                            var searchBox = new google.maps.places.SearchBox(input);
                            map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);

                            // Bias the SearchBox results towards current map's viewport.
                            map.addListener('bounds_changed', function () {
                                searchBox.setBounds(map.getBounds());
                            });

                            var markers = [];
                            // Listen for the event fired when the user selects a prediction and retrieve
                            // more details for that place.
                            searchBox.addListener('places_changed', function () {
                                var places = searchBox.getPlaces();

                                if (places.length == 0) {
                                    return;
                                }

                                // Clear out the old markers.
                                markers.forEach(function (marker) {
                                    marker.setMap(null);
                                });
                                markers = [];

                                // For each place, get the icon, name and location.
                                var bounds = new google.maps.LatLngBounds();
                                places.forEach(function (place) {
                                    if (!place.geometry) {
                                        console.log("Returned place contains no geometry");
                                        return;
                                    }

                                    // create infowindow: just while debugging not needed in View
                                    var infowindow = new google.maps.InfoWindow();

                                    // create geocoder for address
                                    var geocoder = new google.maps.Geocoder();

                                    // Create a marker for each place.
                                    markers.push(new google.maps.Marker({
                                        map: map,
                                        //icon: "/Content/icons/01.png",
                                        title: place.name,
                                        position: place.geometry.location,
                                        draggable: true
                                    }));

                                    // Add listeners to marker:
                                    // click: opens infowindow
                                    markers[0].addListener('click', function () {
                                        infowindow.open(map, markers[0]);
                                        infowindow.setContent(place.name + ': ' + place.geometry.location);
                                        infowindow.open(map, this);

                                        // Add listeners to map
                                        google.maps.event.addListener(markers[0], 'dragend', function (evt) {
                                            infowindow.setContent('Lat: ' + evt.latLng.lat() + '       Lng: ' + evt.latLng.lng());
                                            infowindow.open(map, this);

                                            map.setCenter(markers[0].getPosition());
                                            markers[0].setMap(map);
                                            map.setTilt(0);
                                            map.setZoom(20);

                                            // update return values
                                            // gLat, gLong, gAddr are global variables
                                            gLat = evt.latLng.lat();
                                            gLong = evt.latLng.lng();

                                            // get address
                                            var latlng = { lat: parseFloat(gLat), lng: parseFloat(gLong) };
                                            geocoder.geocode({ 'location': latlng }, function (results, status) {
                                                if (status === 'OK') {
                                                    if (results[0]) { gAddr = results[0].formatted_address } else {
                                                        gAddr = 'NotFound';
                                                    }
                                                }
                                            });

                                        });

                                    });

                                    if (place.geometry.viewport) {
                                        // Only geocodes have viewport.
                                        bounds.union(place.geometry.viewport);
                                    } else {
                                        bounds.extend(place.geometry.location);
                                    }
                                });
                                map.fitBounds(bounds);
                            });

                        }



                    </script>

                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Chiudi</button>
                    <button type="button" class="btn btn-primary" onclick="updFields(gLat, gLong, gAddr)">Salva</button>
                </div>
            </div>
        </div>
    </div>
}



<script>

    $('#findInModal').on('show.bs.modal', function () { 
    })

    function updFields(lat,lng, addr) {
        //alert('Lat: ' + lat + '\nLng: ' + lng + '\nAddr: ' + addr);
        //document.getElementById("Address").value = addr;
        //document.getElementById("Latitude").value = lat;
        //document.getElementById("Longitude").value = lng;
        $('#Address').val(addr);
        $('#Latitude').val(lat);
        $('#Longitude').val(lng);
    }

</script>

2 个答案:

答案 0 :(得分:0)

这可能不是您要寻找的答案(更多是hack,但是完全取消了解密功能),但是为什么不将加密值复制到隐藏的文本字段中,然后单击解密,只需阅读隐藏的字段?

JS:

div

HTML:

ol

答案 1 :(得分:0)

您可以尝试再次运行加密功能,但是这次将amount设置为负数并传递加密的文本。这应该逆转加密。